我正在为magento平台上的电子商务页面制作倒计时计时器。我在网上得到了一些编码帮助,这是Java脚本编码:
<script type="text/javascript">// <![CDATA[
function Countdown(then) {
this.then = then;
function setElement(id, value) {
if (value.length < 2) {
value = "0" + value;
}
window.document.getElementById(id).innerHTML = value;
}
function countdown() {
now = new Date("");
diff = new Date("this.then - now");
seconds_left = Math.floor(diff.valueOf() / 1000);
seconds = Math.floor(seconds_left / 1) % 60;
minutes = Math.floor(seconds_left / 60) % 60;
hours = Math.floor(seconds_left / 3600) % 24;
days = Math.floor(seconds_left / 86400) % 86400;
setElement('countdown-days', days);
setElement('countdown-hours', hours);
setElement('countdown-minutes', minutes);
setElement('countdown-seconds', seconds);
countdown.timer = setTimeout(countdown, 1000);
}
function start() {
this.timer = setTimeout(countdown, 1000);
}
start(then);
}
Countdown(new Date(""));
</script>
我收到一个错误NaN天NaN:NaN:我不明白为什么。我需要一些帮助magento后端的特价起始日期为2016年8月1日,结束日期为2016月14日。我哪里错了?
Date
函数的可用语法如下所示
new Date();
new Date(value);
new Date(dateString);
new Date(year, month[, day[, hour[, minutes[, seconds[, milliseconds]]]]]);
你的情况并非如此。
你想做的是(简化的)
now = new Date("");
t = new Date("");
console.log(new Date("t - now"))
打印无效日期
关于日期对象的更多信息
使用这个脚本,它运行得很好。
<script>
var end = new Date('2016-10-26 00:00: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) {
clearInterval(timer);
document.getElementById('countdown').innerHTML = 'EXPIRED!';
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('countdown').innerHTML = days + 'days ';
document.getElementById('countdown').innerHTML += hours + 'hrs ';
document.getElementById('countdown').innerHTML += minutes + 'mins';
document.getElementById('countdown').innerHTML += seconds + 'secs';
}
timer = setInterval(showRemaining, 1000);
</script>
<div id="countdown"></div>
我破解了代码。请确保您使用的格式为:YYYY-MM-DD-HR-MM-SS(年、月、日、小时、分钟、秒)
我忘记了一个"0",它给了我一个错误。我修复后效果很好。