问答详情
源自:3-4 编程练习

有bug,谁帮我看下

这是我的js代码,不知为何点击按钮可以执行一次,接着就执行不了了,还有就是点击按钮,然后为什么倒计时会延迟一会才开始计时的?球解答

function play(){
           var send = document.getElementById('send');
           timer = null;
           times = 60;
        
         send.onclick = function(){
             alert('已下发短信到您的手机,请注意查收');
             timer = setInterval(function(){
                 if(times<=0){
                    send.value = "发送验证码";
                    send.removeAttribute('disabled');
                    clearInterval('timer');
                 }else{
                    times--;
                    send.value = times +'秒后重试';
                    send.disabled = true;
                 }    
             },1000)
         }
    }

提问者:前端林小白 2016-04-09 13:31

个回答

  • 王大七
    2016-06-18 16:33:25

     clearInterval('timer');中timer的单引号去掉就可以了

  • C阳0
    2016-04-16 11:03:53

    不需要设置disable就可以实现
    你可以最开始设置

    flag=0;

      timer = setInterval(function(){

    if(flag==0){

    flag=1;

       if(times<=0){
                        send.value = "发送验证码";
                        clearInterval('timer');

                         flag=0;
                     }else{
                        times--;
                        send.value = times +'秒后重试'; 
                       
                     }    

    }
                  
                 },1000)

  • 1274765441
    2016-04-10 16:07:33

    试着   clearInterval('timer');  上边加一个 times=60;就可以了