gpt4 book ai didi

javascript - 倒数计时器不会停在 0

转载 作者:行者123 更新时间:2023-11-30 09:59:04 24 4
gpt4 key购买 nike

出于某种原因,当时间到达 0 时,我的计时器不会停止。JSFiddle .这是我制作的倒数计时器的构造函数:

var Timer = function(opts) {
var self = this;

self.opts = opts || {};
self.element = opts.element || null;
self.minutes = opts.minutes || 0;
self.seconds = opts.seconds || 30;

self.start = function() {
self.interval = setInterval(countDown, 1000);
};

self.stop = function() {
clearInterval(self.interval);
};

function countDown() {
if (self.minutes == 0 && self.seconds == 0) {
self.stop();
}

self.seconds--;

if (self.seconds <= 0) {
self.seconds = 59;
self.minutes--;
}

if (self.seconds <= 9) { self.seconds = '0' + self.seconds; }

self.element.textContent = self.minutes + ' : ' + self.seconds;
}
};

这是我的用法:

HTML:

<div id="timer"></div>

JavaScript:

var myTimer = new Timer({
minutes: 0,
seconds: 10,
element: document.querySelector('#timer')
});

myTimer.start();

最佳答案

将倒计时功能更改为

function countDown() {
self.seconds--; //Changed Line
if (self.minutes == 0 && self.seconds == 0) {
self.stop();
}

if (self.seconds < 0) { //Changed Condition. Not include 0
self.seconds = 59;
self.minutes--;
}

if (self.seconds <= 9) { self.seconds = '0' + self.seconds; }

self.element.textContent = self.minutes + ' : ' + self.seconds;
}

http://jsfiddle.net/8d5LLeoa/3/

关于javascript - 倒数计时器不会停在 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32622716/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com