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

setInterval还没执行完index怎么就变了?

setInterval还没执行完index怎么就变了?

var index = 0; var animate = function(offset){ return function(){ var left = parseInt(list.style.left) + offset/10; list.style.left = left + 'px'; if(left == 0) list.style.left = -3000 + 'px'; alert(index); if(left == index*-600) clearInterval(interval); } } prev.onclick = function(){ interval = setInterval(animate(600),100); index --; if(index<0) index = 4; }为什么输出的 index为4??不是还没clearInterval吗??下面的语句就被执行了??
查看完整描述

1 回答

已采纳
?
Caballarii

TA贡献1123条经验 获得超629个赞

setInterval是异步的,后面的会先执行,否则你需要把index--写到setInterval里面

查看完整回答
反对 回复 2016-10-04
  • 1 回答
  • 0 关注
  • 1287 浏览
慕课专栏
更多

添加回答

举报

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