2011-11-15 5 views
2

IE 9에서 슬로우 스크립트 경고가 발생했습니다. 내용이 많은 스크롤 가능한 (예 : jscrollpanes가있는) 오버레이가 포함 된 페이지에서 jscrollpane을 사용하고 있습니다. Firefox 8에서는 모든 것이 잘 작동하고 페이지가 빠르게 생성됩니다. IE에서는 많은 시간 (약 1 분)이 소요되고 스크롤 된 영역 중 하나를 축소/확장 (즉, 표시/숨기기)하면 페이지가 오랫동안 다시 고정됩니다. 분명히 이것은 IE와 관련된 유일한 문제입니다.jScrollPane이 느린 스크립트 경고를 발생시킵니다.

.jscrollpane()이 추가되지 않은 동일한 페이지는 Firefox에서와 마찬가지로 IE에서 빠릅니다.

저는 jscrollpane 2.0.0.beta10과 jquery 1.7을 사용하고 있습니다.하지만 jquery 2.0.0.beta9와 jquery 1.6에서는 같은 결과가 발생합니다.

+2

IE가 모든 웹 사이트에 경고를 표시하지 않는다는 것에 놀랐습니다! 나도 알아, 나쁜 농담. ''ready' 이벤트 핸들러에서'jscrollpane()'이 호출 되었습니까? ([jquery ready()] (http://api.jquery.com/ready/) –

+2

일부 디버깅을 통해 대답을 찾았습니다. jquery.jscrollpane.js에서 initialiseVerticalScroll() 함수는 매우 부적절한 선택을 사용합니다. IE의 경우 최소 크기) : container.find ('> .jspVerticalBar> .jspCap : visible,> .jspVerticalBar> .jspArrow'). 각각 ( ) 특히 * container *에 많은 요소가 포함 된 경우 문제가 IE 보인다 를 수정 사항으로 인해 * .jspVerticalBar * 이미 * verticalBar *로 알려져 있다는 사실에 매우 간단하다. verticalBar.find ('.> jspCap :. 볼> jspArrow'). 각 ( 동일한 문제/해결책이 다음에 적용됩니다. 대응하는 수평 막대. – user1047487

+1

답변으로 게시하고 수락해야합니다. –

답변

2

의견에서 user1047487의 답변을 게시하면 찾기가 더 쉽습니다 (일부 서식을 추가하는 경우). jquery.jscrollpane.js에서

는 함수 initialiseVerticalScroll() 수직 스크롤 바의 크기를 조정하기 위해 (적어도 IE 위해) 매우 inperformant 선택 사용

container.find('>.jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow').ea‌​ch 

용기는 많은 요소를 포함 할 때 특히 느리다.

verticalBar.find('>.jspCap:visible,>.jspArrow').each 

같은 문제/솔루션은 해당 수평 막대로 적용해야

수정 프로그램

인해 .jspVerticalBar 이미 verticalBar로 알려져 있다는 사실 때문에 매우 간단하다.

관련 문제