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

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 关注
  • 1299 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号