我如何制作对每个人都一样的倒数计时器,无论他们在 PC 上的时间如何。 该脚本没有像我希望的那样工作,基本上任何人都可以通过在他们的电脑上更改日期和时间来更改计时器。
var end = new Date('07/31/2015 4:10 pm');
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) {
clearInterval(timer);
document.getElementById('giveaway1').innerHTML = 'The Winner Has Been Chosen!';
return;
}
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);
document.getElementById('giveaway1').innerHTML = days + 'days ';
document.getElementById('giveaway1').innerHTML += hours + 'hrs ';
document.getElementById('giveaway1').innerHTML += minutes + 'mins ';
document.getElementById('giveaway1').innerHTML += seconds + 'secs';
}
timer = setInterval(showRemaining, 1000);
最佳答案
由于本地 PC 时间不在您的控制范围内,因此您必须至少从您的服务器(或第三方服务器)获取一次可靠时间。
一旦您知道(正确的)服务器时间是多少,您就可以从本地 PC 时间中减去服务器时间以获得“偏移量”(即服务器时间与本地 PC 时间之间的差异)。
一旦你有了这个偏移量,你就可以随时获取本地 PC 时间 - 通过 new Date() - 并考虑偏移量以获得“正确”的服务器时间,而不必每次都调用服务器。
关于javascript - 倒数计时器javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721185/