关于oDiv[i].timer=null;的问题

来源:4-1 JS多物体动画

慕粉3988711

2016-11-05 23:11

如题文所示,oDiv[i].timer=null;这段代码意味着在所有的oDiv[i]里添加一个timer属性使得不同oDiv调用不同timer,但老师最后一个多物体透明例子我看遍了全部代码都没有加oDiv[i].timer=null,反而在startMove中直接使用obj.timer.............实际效果正如老师所演示的一样,完全可以多物体透明,于是我在window.onload下的for循环中手贱加了句oDiv[i].timer=null;

for(var i=0;i<oDiv.length;i++){

oDiv[i].timer=null;

//代码

}

于是神奇的是我加了oDiv[i].timer=null;和老师不加这个,实现的效果完全一样?这是怎么回事?

写回答 关注

3回答

  • qq_空之岚_0
    2016-12-04 08:42:45

    综合了所有答案我总结了下

    1.obj.timer=setInterval(function(){//设置计时器同时定义了obj.timer

    2.oDiv[i].alpha=30;//定义alpha

    3.与obj.style.opacity类型一样obj.timer和oDiv[i].opacity不用声明直接定义即可

  • qq_空之岚_0
    2016-12-04 07:55:16

    我也注意到这个问题了求解

  • qq_君莫笑_27
    2016-11-06 13:48:12

    连续点击多次,看看透明度变化的快慢;

    需要说明一下,清不清空计时器不影响透明度改变的实现,清空计时器只是不行让计时器叠加,如果一个物体在打开计时器之前没有清空之前打开的计时器,那么透明度的变化速度就会加快;如果先清空计时器,就可以实现各个物体透明度变化速度一致。

    共 1 条回复 >

JS动画效果

通过本课程JS动画的学习,从简单动画开始,逐步深入各种动画框架封装

113931 学习 · 1443 问题

查看课程

相似问题