繁体   English   中英

停止点击倒计时

[英]Stop countdown on click

我希望在单击提交按钮时停止倒数,我在某些页面中进行了搜索,但没有找到任何东西。 这是我要停止点击的代码

function countDown (count) {
  if (count > 0) {
   var d = document.getElementById("countDiv");
   d.innerHTML = count;
   setTimeout (function() { countDown(count-1); }, 1000);
   document.getElementById('tiempo').value = count;
  }
  else
   document.location = "timeover.php";
}
document.getElementById("palabra").focus();
countDown(5);
</script>

尝试这样的事情:

var stopped = false; 
function countDown (count) {
  if (count > 0) {
   var d = document.getElementById("countDiv");
   d.innerHTML = count;
   document.getElementById('tiempo').value = count;
   if (!stopped) { 
    setTimeout (function() { countDown(count-1); }, 1000);
   }
  }
  else
   document.location = "timeover.php";
}
document.getElementById("palabra").focus();
document.getElementById("mySubmitId").onclick = function () { 
  stopped = true;
};
countDown(5);

您必须保存对超时的引用(超时的实际返回值将是数字),并使用它来取消超时。

var timeout = window.setTimeout(function () {
    // do something
}, 1000);

// clear timeout
window.clearTimeout(timeout);

您可能有这个主意。 顺便说一句,您可能应该看一下setInterval方法,因为在这种情况下它会更好。 间隔将“滴答”直到您取消它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM