我这奇葩代码,为啥倒数到2就停了

来源:3-4 编程练习

答答安

2016-01-08 16:58

<!doctype html>
<html>
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <script type="text/javascript">
    window.onload=function(){
        var send=document.getElementById('send'),
            times=5,
            timer=null;
        send.onclick=function(){
          // 计时开始   
          function countDown(){  
          send.value = times + "秒后重试";
          send.disabled=true;
          times--;
          if(times <= 0){
              clearInterval(timer);
              send.disabled=false;
              times=5;
              send.value = "发送验证码";
          }
          }  
          timer=setInterval(countDown,1000);
        }
    }
    </script>
</head>
<body>
    <input type="button" id="send" value="发送验证码">
</body>
</html>

写回答 关注

2回答

  • renyi3916741
    2016-10-06 18:20:44

    if(times <= 0){

                 clearInterval(timer);

                 send.disabled=false;

                 times=5;

                 send.value = "发送验证码";

             }else{

              send.value = times + "秒后重试";

             send.disabled=true;

             times--;

             }

    把之前执行的语句放在else中,就行

  • qq_安伊偌拉_0
    2016-01-08 17:10:18

    times==1时,按钮的值变成了"1秒后重试",只不过一闪而过,马上就执行了下面的语句,times--,变为0,执行if里面的语句,按钮的值瞬间变成了"发送验证码"。

    qq_安伊偌... 回复答答安

    改法很多啊,可以把times--;这一句放在if(){}语句的后面;或者把if里面的判断改成times < 0;都行

    2016-01-11 09:24:46

    共 2 条回复 >

Tab选项卡切换效果

本课程详细介绍网页页面中最流行常用的tab切换效果

65468 学习 · 533 问题

查看课程

相似问题