一旦值为负,更改倒计时计时器文本



我有一个倒计时计时器。它工作得很好,但我希望它是这样的,值达到负值,文本从"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';
}

最新更新