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

为什么把 var timer=null放进startmove()里就不起作用,多次触碰还是会变快

function startmove() {
    var timer=null;
    clearInterval(timer);
    var oDiv=document.getElementById("div1");
    timer=setInterval(function () {
        if (oDiv.offsetLeft==0){
            clearInterval(timer);
        }else {
            oDiv.style.left=oDiv.offsetLeft+1+'px';
        }
    },50)
}


正在回答

1 回答

当你多次触碰时,上一次的定时器timer被 

var timer=null;

重新赋值了(即timer这个定时器的对象找不到了),导致clearInterval(timer),起不了作用。

应该将var timer=null;写在函数的外面

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

举报

0/150
提交
取消

为什么把 var timer=null放进startmove()里就不起作用,多次触碰还是会变快

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