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

如何让button只能点击一次

有bug啊,怎么才能让“button"只能执行一次,当持续点击button,则不是按照一秒执行一次,而是,,,

<!DOCTYPE HTML>

<html>

<head>

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

<title>计时器</title>

</head>

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


正在回答

4 回答

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<title>计时器</title>
</head>
<script type="text/javascript">
  var num=0;
  var i;
  function startCount(){
    document.getElementById('count').value=num;
    num=num+1;
    i=setTimeout("startCount()",1000);
    document.getElementById("Start").disabled=true;
  }
  function stopCount(){
  clearTimeout(i);
  document.getElementById("count").value="";
  document.getElementById("Start").disabled=false;

  }
</script>
</head>
<body>
  <form>
    <input type="text" id="count" />
    <input type="button" value="Start" id="Start" onclick="startCount()" />
    <input type="button" value="Stop"  onclick="stopCount()" />
  </form>
</body>
</html>

    下划线的部分是我和你不同的部分,我给开始按钮加了一个ID,然后通过在函数中加了三个样式,实现了开始按钮点击一次不可用,停止按钮点击后开始按钮回复,文本框清零。

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

我也隐隐约约发现了这个问题,你说的是按多次start的话计时会变快是吧。判断一下就行了,num=0的话就执行函数里面的内容。但问题根本原因是什么,这个就不太清楚。难道是多线程?OTZ

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

function stopCount(){

  num=0;

  clearTimeout(i);

  }

加一句num=0;

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

var gg=true;

function startCount(){

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

    num=num+1;

if(gg){

gg=false; 

   i=setTimeout(function(){

startCount();

gg=true;

},1000);

}



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

举报

0/150
提交
取消

如何让button只能点击一次

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