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

计时器多次点击,每点击一个开始就多一个计时器,而多个计时器同时工作的时候,每次单击只能停止一个计时器。

<!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(){

    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 回答

解决多开定时器的方法只有一个,就是让开关点击完一次不能再次点击。

凭老夫多年经验给你2段代码,你把它们加上  document.getElementById("myButton").disabled = true;这段加在定时器打开的函数里面。。document.getElementById("myButton").disabled = false;这段加在定时器停止的函数里面。。  顺便你给打开定时的button起一个id=myButton

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

天心皓月 提问者

非常感谢!
2018-06-22 回复 有任何疑惑可以回复我~

<html>

<head>

<meta http-equiv="Content-Type" content="text/html; charset=utf-8">

<title>计时器</title>

<script type="text/javascript">


  var num=0;

  var i;

  var a = true;

function add(){

document.getElementById('count').value=num;

num=num+1;

i=setTimeout("add()",1000);

}

  function startCount(){

  if(a){

add()

      }

  a = false;

  }

  


  function stopCount(){

if(a==false){

clearTimeout(i);

}

a = true;

  }


</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>

这是我之前学习时写的代码,这个就是不变button的

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

举报

0/150
提交
取消

计时器多次点击,每点击一个开始就多一个计时器,而多个计时器同时工作的时候,每次单击只能停止一个计时器。

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