【发布时间】:2011-11-15 11:53:58
【问题描述】:
我在 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 相同。
【问题讨论】:
-
我很惊讶 IE 并没有在所有网站上都给出警告!我知道,坏笑话。
jscrollpane()是否在文档ready事件处理程序中调用? (jquery ready()) -
通过一些调试,我找到了答案:在 jquery.jscrollpane.js 中,函数 initialiseVerticalScroll() 使用性能非常差的选择(至少对于 IE)来调整垂直滚动条的大小: container.find('> .jspVerticalBar>.jspCap:visible,>.jspVerticalBar>.jspArrow').each( 特别是当 container 包含很多元素时,它似乎给 IE 带来麻烦。修复很简单,因为事实上.jspVerticalBar 已经被称为 verticalBar:verticalBar.find('>.jspCap:visible,>.jspArrow').each( 同样的问题/解决方案应该适用于相应的水平条。
-
您应该将其发布为答案并接受它。
-
请按照 John Conde 的建议将其作为答案发布。
标签: jquery internet-explorer jscrollpane