为了账号安全,请及时绑定邮箱和手机立即绑定

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

如题文所示,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 回答

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

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

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

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

1 回复 有任何疑惑可以回复我~

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

0 回复 有任何疑惑可以回复我~

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

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

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
JS动画效果
  • 参与学习       113926    人
  • 解答问题       1443    个

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

进入课程

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

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信