2012-06-04 2 views
0

텍스트가 있습니다.스팬, 병목 목을 사용하여 텍스트 선택 시뮬레이션

단어는 (스팬 ID가 ... N 1,2,3입니다) 스팬에 싸여있다 :

<span id="79" class="p">თაობის<div class="p" style="width: 9px; left: -9px; "></div></span> <span id="80" class="p">განადგურების<div class="p" style="width: 10px; left: -10px; "></div></span>

I에 의해 텍스트 선택을 시뮬레이션하고 있습니다 :

내가 텍스트를 시뮬레이션 할 필요 스팬의 배경색을 변경하고 스팬 사이에 간격이 채워진 배경 div로 선택합니다.

스팬 카운트가 충분히 크면 Internet Explorer에서 "selected text spans"를 통해 실행되고 거기에 배경색이있는 div를 넣는 간격을 계산하는 javascript 코드가 많은 시간이 걸립니다 (인터넷 익스플로러가 작동을 멈 춥니 다. 총량이 500 인 경우 30 초).

+0

정말 잘못된 HTML – thecodeparadox

+0

여기에 넣지 않으면 코드에서 병목 현상을 판단 할 방법이 없습니다. – Alexander

+0

html 무효는 우리가 검색 엔진을 검색 할 필요가 없기 때문에 문제가되지 않습니다. 하지만 목에 병목이 생길 수도 있다고 생각한다면 뭐든지 제안 할 수 있습니까? –

답변

-1

내가 그나마 정말 당신이 "텍스트 선택을 시뮬레이션"에 의해 뜻을 이해

당신은 당신의 코드를 제안하는 경우, 그것은 당신에게

도움 쉽게 많은 것 http://jsfiddle.net/fullpipe/DpP7w/embedded/result/

이 예에서 볼 수 있었다

많은 시간을 문자 생성에 사용합니다.

+0

예 나는 당신이 저에게 준 링크에 표시된 것과 같은 일을합니다. 내 문제는 추가 div로 단어 간의 차이를 채우려는 것인데, 이는 성능 문제가 시작되는 곳입니다. 내가 이해하는 바에 따르면 IE의 경우 몇 개의 상위 div에 10 개 이상의 div를 추가하고 수백 개의 줄 바꿈 단어가 포함되어 있습니다. 어쨌든 고마워, 유일한 해결책은 텍스트를 작은 덩어리로 나눠서 표시하는 것입니다. –

+0

서버 쪽 텍스트에 div를 삽입하는 것이 더 좋습니다. 그리고 이것은'IE가 일부 부모 div에 10 개 이상의 div를 추가하는 데 많은 것을 의미합니다. ' 은 문제가되지 않습니다. 스크립트에서 느린 루프가있을 수 있습니다. – fullpipe

관련 문제