Maison > Questions et réponses > le corps du texte
Le code suivant est une simple minuterie, mais cliquer sur le bouton de synchronisation plus de deux fois de suite entraînera une accélération du timing et ne pourra pas être mis en pause (ne peut pas être arrêté ~~). Besoin d'une solution ?
<!DOCTYPE html>
<html>
<head>
<title>
计时器
</title>
<style type="text/css">
p {
width: 400px;text-align:center;height: 500px;font-weight: 700;background-color: #ccc;font-size: 400px;margin: 0 auto;
}
</style>
</tête>
<corps>
<p><font color="red" size="28"></font></p>
<input type="button" value="计时开始⌚️">
<input type="button" value="计时暂停⏸️">
<script type="text/javascript">
//计时开始方法
var i = 0;
var times;
var prebtn = document.getElementsByTagName("input")[0].onclick=function()
{
times = window.setInterval(function(){
i++
document.getElementsByTagName("p")[0].innerHTML=i;
},1000);
}
//计时结束方法
var nextbtn = document.getElementsByTagName("input")[1].onclick=function()
{
var cleartimes = window.clearInterval(times);
}
</script>
</body>
</html>
大家讲道理2017-05-18 10:48:32
var prebtn = document.getElementsByTagName("input")[0].onclick=function()
{
clearInterval(times);
times = window.setInterval(function(){
i++
document.getElementsByTagName("p")[0].innerHTML=i;
},1000);
}
阿神2017-05-18 10:48:32
Juge dans la fonction chronométragetimes
如果有值,直接返回;
或者有值的情况下先clearInterval
然后再重新setInterval
仅有的幸福2017-05-18 10:48:32
Cliquer 2 fois équivaut à régler 2 minuteries, ce sera donc un piège.