处理大量元素时,隐藏/显示功能的速度极慢

时间:2011-04-05 17:15:15

标签: javascript jquery performance google-chrome safari

当我正在使用$(“#myDiv”)。show()和$(“#myDiv”)时,我遇到了糟糕的表现。隐藏()仅适用于Mac上的Safari和Chrome,所有其他浏览器(包括IE6)在PC和Mac上工作正常,所以这是一个Webkit问题。

div“myDiv”包含大量元素,包括许多复选框,JqueryUI选项卡和3个滑块。

我尝试了“addClass”而不是show / hide,我尝试将margin设置为-10000并返回0,这些事情似乎都没有帮助。是否有解决方法或这是这些浏览器的限制?

4 个答案:

答案 0 :(得分:9)

好的,我为此道歉,但这是令人兴奋的....

经过50次JS调整后无济于事,事实证明我的问题出在CSS !!!

在浪费了一天后,结果是“背景大小:100%;”崩溃webkit!那是疯了......删除那一行删除了我的所有崩溃。

再次,非常抱歉报告错误的问题。

答案 1 :(得分:5)

这似乎是一个已经讨论过的问题Jquery hide() and show() runs too slow in google chrome。他们认定这是一个铬的错误。

答案 2 :(得分:4)

你可以试试这个:

$("#myDiv").css("display", "none");

答案 3 :(得分:3)

尝试通过var $mydiv = $('#myDiv')缓存您的myDiv,然后在您的选择器中使用$myDiv。这将避免每次要显示或隐藏时创建jQuery对象。