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

关于点击start,数字+1的问题

除了限制开关还有其他办法吗?


<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>

<script type="text/javascript">
  var num=0;
  var i;
  function startCount(){
      clearTimeout(i);
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
  }
  function stopCount(){
    clearTimeout(i);
  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" value="Start"  onClick="startCount()"/>
    <input type="button" value="Stop"  onClick="stopCount()"/>
  </form>
</body>
</html>

正在回答

2 回答

加个if判断就行,如果函数正在运行就不执行。

<script type="text/javascript">
  var num=0;
  var i;
  var nowOn=false;//预设条件,初始化false。
    function startCount2(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount2()",1000);
    nowOn=true;//函数运行,条件变为true。
  };
  
  function startCount(){
    if(nowOn==false){ //判断是否在运行状态。
       startCount2();
    }};
    
  function stopCount(){
     clearTimeout(i);
     nowOn=false;//停止运行,变回false。
  };
</script>


0 回复 有任何疑惑可以回复我~
#1

别动我的猫 提问者

谢谢你
2017-11-29 回复 有任何疑惑可以回复我~

每次点击start都运行一次num=mum+1;有没有办法是点击strart,但是不运行num=num+1的办法。

感觉是do {}while() 和while(  ){   } 的区别。 如果觉得我哪里表达不清楚,说出来,我随时更改。

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

举报

0/150
提交
取消

关于点击start,数字+1的问题

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