javascript - Problème de superposition du compte à rebours JS
天蓬老师
天蓬老师 2017-05-18 10:46:32
0
3
587

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>

天蓬老师
天蓬老师

欢迎选择我的课程,让我们一起见证您的进步~~

répondre à tous(3)
大家讲道理
var prebtn = document.getElementsByTagName("input")[0].onclick=function()
        {
                clearInterval(times);
                times = window.setInterval(function(){
            
                i++
                document.getElementsByTagName("p")[0].innerHTML=i;
            },1000);
        }
阿神

Juge dans la fonction chronométragetimes 如果有值,直接返回;
或者有值的情况下先clearInterval然后再重新setInterval

仅有的幸福

Cliquer 2 fois équivaut à régler 2 minuteries, ce sera donc un piège.

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal