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

时间:2014-03-10 14:57:04

标签: jquery

我有一个倒数计时器,可以计算天数。它工作正常,但我希望它的价值达到负值,文字从“剩余天数”变为“自那以后的日子”,它会删除负号。

我怎样才能实现这个目标?

Fiddle:

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);

4 个答案:

答案 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';
}

Demo

相关问题