如何修复跳过每次点击按钮进入倒计时的时间?(或者每次点击都重置倒计时)

How to fix time skipping every click button to countdown? (Or reset countdown every click)

本文关键字:倒计时 或者 时间 何修复 按钮      更新时间:2023-09-26

如果我点击一次,我的倒计时会正常运行。但如果我点击它几次,它就会跳过时间。这是我的代码:

<input type="submit" value="Countdown" id="countdown" onclick="countdown_init()" />
<div id="countdown_text"></div>
<script type="application/javascript">
    var countdown;
    var countdown_number;
    var number = document.getElementById('countdown_text');
    function countdown_init() {
        countdown_number = 6;
        countdown_trigger();
    }
    function countdown_trigger() {
        if(countdown_number > 0) {
            countdown_number--;
            number.innerHTML = countdown_number;
            if(countdown_number > 0 ) {
                countdown = setTimeout('countdown_trigger()', 1000);
            }
        }
        if(number.innerHTML == "0"){
            document.getElementById('countdown_text').innerHTML = "";
        }
    } 
</script>

如何使倒计时计时器重置每次我点击倒计时按钮一次又一次?

只需在init函数中清除即可:

function countdown_init() {
    clearTimeout(countdown);
    countdown_number = 6;
    countdown_trigger();
}