Javascript 在处理大量元素时,隐藏/显示功能的性能极低

Javascript 在处理大量元素时,隐藏/显示功能的性能极低,javascript,jquery,performance,google-chrome,safari,Javascript,Jquery,Performance,Google Chrome,Safari,我在做$(“#myDiv”).show()和$(“#myDiv”).hide()时遇到了糟糕的性能。只有在Mac上的Safari和Chrome中,包括IE6在内的所有其他浏览器在PC和Mac上都工作正常,所以这是一个Webkit问题 div“myDiv”包含大量元素,包括许多复选框、JqueryUI选项卡和3个滑块 我尝试了“addClass”而不是show/hide,我尝试了将边距设置为-10000并返回到0,但这些似乎都没有帮助。这些浏览器是否有解决方法或限制?您可以尝试以下方法: $("#

我在做$(“#myDiv”).show()和$(“#myDiv”).hide()时遇到了糟糕的性能。只有在Mac上的Safari和Chrome中,包括IE6在内的所有其他浏览器在PC和Mac上都工作正常,所以这是一个Webkit问题

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

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

您可以尝试以下方法:

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

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

这似乎是一个已经讨论过的问题。他们确定这是chrome中的一个bug。

好吧,对此我深表歉意,但这真是令人震惊

在连续50次JS调整无效后,我发现我的问题出在CSS中

在这上面浪费了一天之后,结果证明“背景大小:100%;”会使webkit崩溃!那太疯狂了。。。删除这一行删除了我所有的崩溃


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

可能是jQuery的问题?尝试使用经典javascript,看看它是否有任何效果
document.getElementById('myDiv').style.display='none'
您是如何确定
.show()
.hide()
是导致速度缓慢的原因的?我只是说,这种东西在webkit中通常比其他东西运行得更快。o、 要苹果吗?这是一个mac特有的问题,我做了,完全没有区别,非常奇怪。通常WebKit在处理大量dom节点时表现非常好。我确实看到了这一点,但它没有给出解决方法。另外,Safari也有同样的问题。尝试过,但没有任何帮助:(我也有过这个问题(Chrome和Safari在Windows7上的最新版本,如果有关系的话)。浏览器执行大多数jQuery动画的速度非常慢,而Fx、IE和Opera都很好,我不知道为什么。关闭
背景大小:auto 100%;
解决了这个问题。感谢发布这个(相当令人沮丧的)解决方案。