我有一个倒计时计时器。它工作得很好,但我希望它是这样的,值达到负值,文本从"days left"变为"days since",并删除负号。
我怎样才能做到这一点?
操纵:jQuery:// set the date we're counting down to
var target_date = new Date("Aug 15, 2013").getTime();
// variables for time units
var days, hours, minutes, seconds;
// get tag element
var countdown = document.getElementById("ribboncountdown");
var days_span = document.createElement("SPAN");
days_span.className = 'days';
countdown.appendChild(days_span);
// update the tag with id "countdown" every 1 second
setInterval(function () {
// find the amount of "seconds" between now and target
var current_date = new Date().getTime();
var seconds_left = (target_date - current_date) / 1000;
// do some time calculations
days = parseInt(seconds_left / 86400);
seconds_left = seconds_left % 86400;
// format countdown string + set tag value.
days_span.innerHTML = '<span>' + days + '</span>' + 'days to go';
//ribboncountdown.innerHTML = days + "d,;
}, 1000);
根据days是否为负数更新文本:
if (days < 0) {
days_span.innerHTML = '<span>' + days * -1 + '</span>' + ' days since';
}
else {
days_span.innerHTML = '<span>' + days + '</span>' + ' days to go';
}
小提琴:http://jsfiddle.net/Z8Zwc/3/
或者你可以这样简化:
var suffix;
if (days < 0) {
days = days * -1;
suffix = ' days since';
}
else {
suffix = ' days to go';
}
days_span.innerHTML = '<span>' + days + '</span>' + suffix;
更新小提琴:http://jsfiddle.net/Z8Zwc/2/
// format countdown string + set tag value.
var msg = 'days to go';
if (days < 0){
days = days * -1;
msg = 'days since'
}
days_span.innerHTML = '<span>' + days + '</span>' + msg;
检查days
是否小于0,必要时更改文本
if(days < 0){
days_span.innerHTML = '<span>' + days*(-1) + '</span>' + ' days since';
}else{
days_span.innerHTML = '<span>' + days + '</span>' + ' days to go';
}
像这样修改代码
// format countdown string + set tag value.
if(days>0)
{
days_span.innerHTML = '<span>' + days + '</span>' + 'days to go';
}
else
{
days_span.innerHTML = '<span>' + days*-1 + '</span>' + 'days since';
}