jScrollPane导致脚本警告缓慢

时间:2011-11-15 11:53:59

标签: jquery internet-explorer jscrollpane

我在IE 9中遇到一个慢速脚本警告,同时在包含可滚动(即内部的某些jscrollpanes)覆盖的页面上使用jscrollpane,其中包含一堆内容。在Firefox 8中,一切正常,页面很快就会建立起来。在IE上花费大量时间(大约一分钟)并且折叠/扩展其中一个滚动区域(即显示/隐藏)导致页面长时间再次冻结。显然,这只是IE的一个问题。

同样的页面,但没有添加.jscrollpane(),在IE中就像在Firefox中一样快。

我正在使用jscrollpane 2.0.0.beta10和jquery 1.7,但它恰好与jquery 2.0.0.beta9和jquery 1.6相同。

1 个答案:

答案 0 :(得分:2)

从评论中发布user1047487的答案,以便更容易找到(还添加一些格式)。

在jquery.jscrollpane.js中,函数initialiseVerticalScroll()使用一个非常不可思议的选择(至少对于IE)来调整垂直滚动条的大小:

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

当容器包含大量元素时,这尤其慢。

修复非常简单,因为.jspVerticalBar已被称为verticalBar

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

相同问题/解决方案应适用于相应的水平条。