所以对于这样的事情:
Jquery的:
$(document).ready(function(){
var container = $('.rotate_container');
var images = container.find('img');
container.everyTime(10, function (){
images.each(function() {
container.animate({scrollTop: $(this).offset().top - 165}, 2000).delay(1000);
});
});
});
制作变量“容器”和“图像”有什么意义?如果它们每个只使用过一次,那对它有什么帮助呢?
感谢。
答案 0 :(得分:5)
如果你,肯定,只在代码中访问一次元素,当然 有意义缓存它。
缓存DOM elements
的原因是访问它们非常昂贵。
在 ECMAland 和 DOMland 之间越过bridge
是最昂贵的部分。你真的可以将它与一座桥进行比较,每次越过它时你必须付出收费。因此,将这些东西保存在您已经支付过费用的ECMAland中是有意义的。每次需要时都不要过桥。
在这张照片中你会注意到,如果你只过一次桥就无所谓了。
答案 1 :(得分:0)
你可以将images.each替换为container.find('img')。每个,但容器将被引用3次(.everytime,.find('img')和.animate)。
答案 2 :(得分:0)
这些变量基本上修复了每个定时事件的值。如果你考虑一下,图像可能会改变,标记可能会被修改,等等。这会修复后续代码的DOM元素集。是否合适取决于申请。