我有一个倒数计时器,可以计算天数。它工作正常,但我希望它的价值达到负值,文字从“剩余天数”变为“自那以后的日子”,它会删除负号。
我怎样才能实现这个目标?
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);
答案 0 :(得分:0)
更新了小提琴: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;
答案 1 :(得分:0)
根据天数是否为负来更新文本:
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;
答案 2 :(得分:0)
检查days
是否低于零,并在必要时更改文本。
if(days < 0){
days_span.innerHTML = '<span>' + days*(-1) + '</span>' + ' days since';
}else{
days_span.innerHTML = '<span>' + days + '</span>' + ' days to go';
}
答案 3 :(得分:0)
像这样更改代码
// 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';
}