【发布时间】:2015-07-30 18:32:00
【问题描述】:
我如何制作对每个人都一样的倒数计时器,无论他们在电脑上的时间是多少。 该脚本无法按我的意愿运行,基本上任何人都可以通过更改其电脑上的日期和时间来更改计时器。
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);
【问题讨论】:
-
基本上你不需要使用他们电脑时间/日期的时间基准。您将使用托管代码的服务器时间/日期。
-
为什么不直接在函数外设置变量“now”,并在每个
showRemaining()中添加 1000 秒?这样,您的用户将不得不在脚本开始之前更改日期。
标签: javascript timer