var list=[];
list=document.getElementbyId("img1");
然后在for循环中改变节点的位置,达到滑动效果,至于为什么把节点存到数组里我想有优化脚本效率的朋友都知道,在for循环中尽量不要让浏览器多次寻找dom。。我在网上看到有一种写法;var a=dom.style.left; a=......;
我想此时a是left的值,而不是dom.style.left的引用可以将dom.style.left一次性存储在数组中吗?还是只能存到id这一层级,style和left还是要在for循环中浏览器重复查找?还有,别告诉我你们看不懂我说什么额。

解决方案 »

  1.   

    妈的 发完贴发现 可以存到style一级,因为style也是对象,而left是属性级别了,所以最多可以存到style级别
      

  2.   

    能提到层级的东西尽量提到最后一层 但有些东西还是和代码的逻辑相关的 需考虑周全像LZ说要改变节点的的位置来达到滑动效果 是否需要循环每次都取一下属性值呢?而js性能的体现恰恰与这些属性值的读取有着密切关系 尤其是width style中left ==== 这些布局性的属性每访问一次都会增加dom的重绘或者重排 相信LZ也对这个东西深有体会吧 呵呵
      

  3.   

    我使用setTimeout定时滑动,每一次执行setTimeout里的for循环都需要查找各个(我的8个img)对象,浏览器查找按照 id(对象)---style(对象)----left(style的属性)查找的。刚测试了一下,将dom.style对象存在数组中(我要同时滑动8个img对象,所以存在数组中),然后在for循环中避免重复查找dom.style,效率提升了2.5倍;