gpt4 book ai didi

javascript - 以毫秒为单位创建倒数计时器

转载 作者:行者123 更新时间:2023-11-30 07:44:18 25 4
gpt4 key购买 nike

我正在尝试创建一个以年、月、日、小时、分钟、秒和毫秒为单位倒计时的计时器。我在网上找到了一些指南,但是它们不太容易理解,或者没有做到毫秒级。任何人都可以帮我做这样的事情,比如说,在这个星期五 13:30。

所以它可以读取 0y 0m 2d 2h 11m 50ms

并倒数毫秒。我会展示代码来证明我自己确实尝试过这样做,但都以失败告终,以至于我感到很尴尬。

我还读了this article ,这让我有点不信任 javascript 计时器。这是真的吗,他们变成了so out of sync

感谢您的帮助!

最佳答案

取决于你如何实现它。

如果您只读取一次时间并依赖于 setInterval 或/和 setTimeout 的准确性,那么是的......它们可能会不同步。

如果您总是在计算中使用当前时间,那么它可能会不同步,就像您系统的其余部分不同步一样...这意味着它遵循计算机的时钟。

JavaScript / jQuery Countdown 更改我的答案添加你得到的毫秒数

var end = new Date('13 Apr 2012 13:30:00');

var _second = 1000;
var _minute = _second * 60;
var _hour = _minute * 60;
var _day = _hour *24;
var timer;

function showRemaining()
{
var now = new Date();
var distance = end - now;
if (distance < 0 ) {
// handle expiry here..
clearInterval( timer ); // stop the timer from continuing ..
//alert('Expired'); // alert a message that the timer has expired..
}
var days = Math.floor(distance / _day);
var hours = Math.floor( (distance % _day ) / _hour );
var minutes = Math.floor( (distance % _hour) / _minute );
var seconds = Math.floor( (distance % _minute) / _second );
var milliseconds = distance % _second;

var countdownElement = document.getElementById('timer');
countdownElement.innerHTML = days + 'd ' +
hours + 'h ' +
minutes + 'm ' +
seconds + 's ' +
milliseconds + 'ms';
}

timer = setInterval(showRemaining, 10);

但它不处理月份和年份,因为这需要更复杂的计算来分解 28-31 天的月份和闰年。

演示在 http://jsfiddle.net/TaHtz/2/

关于javascript - 以毫秒为单位创建倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10112563/

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