作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
setInterval(function(){
$("*").each(function(obj){
if ($(this).data("x"))
$(this).css({left:$(this).data("x")()});
//... more code for y, w, h, x2, y2, etc...
}
},25);
它在我的电脑上运行完美——我担心的是:如果没有优化就这样离开,这段代码是否会导调用脑性能较差的用户性能显着下降,因为它每秒迭代每个 DOM 元素 40 次?还是可以接受?
注意:关键是为了更容易创建一个函数来协调对象的位置,例如:$(myObj).data("x",function(){ return sin(Date.now ()/1000)*50; })
应该使对象摆动。
最佳答案
它肯定会影响性能,尤其是当您有很多很多元素时。也是每秒40次?这似乎很多。我不确定使用选择器会快多少,因为这也可能很昂贵。
也许尝试使用 $("[data-x]")
作为选择器,或者使用更具体的父选择器:$("#container").find('[数据-x]')
关于javascript - 每秒遍历每个 DOM 元素 40 次是否会导致速度较慢的计算机出现性能问题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15058212/
我是一名优秀的程序员,十分优秀!