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

我用setInterval时index变量为什么不变化,一直为0呢,折腾了一下下午

我用setInterval时index变量为什么不变化,一直为0呢,折腾了一下下午

蛊毒传说 2018-12-07 12:04:55
var index=0; $(document).ready(function () { start(); setInterval("getIndex()",1000) }); function start(){ var obj=$("#ad ul>li"); for(var i=0;i<obj.length;i++){ $(obj[i]).css("opacity","0"); } } function setIndexOpacity(){ var item=$("#ad ul>li"); if(index!=0){ $(item[--index]).css("opacity","0"); } $(item[index]).css("opacity","1"); } function getIndex(){ index=index>6?0:++index; setIndexOpacity(); }
查看完整描述

1 回答

?
Qyouu

TA贡献1786条经验 获得超11个赞

对你代码的分析:

1)index初始为0

2)start方法执行,未对index值作更改

3)setInterval()调用致使getIndex方法被调用,经过处理index自增1,此时index为1

4)setIndexOpacity在getIndex中被调用,由于index不为0,所以index自减1,此时index为0(注意--index为自减,即index=index-1,++index同理)

5)继续setInterval()的循环

那么请问到底index的值变化了没?

查看完整回答
反对 回复 2018-12-24
  • 1 回答
  • 0 关注
  • 713 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信