倒计时未按预期重置
Countdown not resetting as it should
本文关键字:倒计时 更新时间:2023-09-26
我创建了一个倒计时,它每天倒计时到特定时间(hh:mm:ss),比如说晚上 7 点或 19:00:00。晚上 7 点过后,倒计时应重置为 23:59:59,但相反,它会计算从上一个设置的时间经过的时间 (-00 -00 -01)。
如何制作计时器,使其在通过后重置为下一个 24 小时?
演示:http://jsfiddle.net/p3f2X/(尝试将时间设置为一天中的过去时间 - 例如您所在时区的下午 4 点,然后将其设置为下午 3 点以查看错误)
function ShowTime() {
var now = new Date();
var hrs = 18-now.getHours();
var mins = 60-now.getMinutes();
var secs = 60-now.getSeconds();
timeLeft = "" +hrs+' hours '+mins+' minutes '+secs+' seconds';
$("#countdown").html(timeLeft);
}
setInterval(ShowTime ,1000);
这里真正的问题是你不想有一个负的小时、分钟或秒变量,要解决这个问题,你可以这样做:
使用此代码,您还可以将数字更改为 19、0 和 0,因为这更清晰,并防止显示60 seconds
。
var hours=19-now.getHours()-1;
if(hours<0)hours+=24;
var minutes=0-now.getMinutes()-1;
if(minutes<0)minutes+=60;
var seconds=0-now.getSeconds();
if(seconds<0)seconds+=60;
这是一个演示
function ShowTime() {
var now = new Date();
var hrs;
var mins = 59-now.getMinutes();
var secs = 59-now.getSeconds();
if(now.getHours()>18)
hrs=24+18-now.getHours();
else
hrs= 18-now.getHours();
timeLeft = "" +hrs+' hours '+mins+' minutes '+secs+' seconds';
$("#countdown").html(timeLeft);
console.log(now.getHours());
}
setInterval(ShowTime ,1000);
相关文章:
- 如何在窗体打开时从javascript倒计时计时器值中节省时间
- 设置倒计时计时器,IE出现问题
- 显示具有服务器端自动时间注销的同步倒计时计时器
- 倒计时计时器应该持续两个php页面
- 在Jquery倒计时计时器上设置每个数字的动画
- Javascript倒计时计时器倒计时未正确更新秒/分钟
- 结束后Javascript倒计时计时器重定向
- 停止javascript倒计时
- 每小时倒计时一次,但以30分钟为单位
- 创建一个倒计时计时器脚本,该脚本计算声音文件的持续时间,而不是特定的日期
- 递归倒计时计时器
- 如何在拍卖广告中添加倒计时
- 制作一个按钮倒计时计时器,该计时器将在5分钟后永久禁用,即使在页面刷新时也应保持禁用状态
- 我需要JS/jQuery中的倒计时计时器
- 我的时间倒计时脚本在谷歌浏览器中工作正常,但在其他浏览器中打开时它显示为南楠
- 双倒计时定时器
- JavaScript-在倒计时期间禁用点击功能
- 设置Javascript倒计时计时器的初始值
- Javascript-将时区添加到日期倒计时中
- jQuery不同浏览器上的日期倒计时