jquery.Countdown - 改变背景颜色

时间:2016-07-22 09:45:28

标签: javascript jquery css countdown

我对此脚本有疑问 -

  var date = new Date(new Date().valueOf() + 60 * 1000);

  $('#clock').countdown(date)
  .on('update.countdown', function(event) {

   var format = '%M:%S';

    if(date < 30) {

      $( "#countcon" ).addClass( 'bg-teal-800' );
    }

   $(this).html(event.strftime(format));
   })
   .on('finish.countdown', function(event) {
   $(this).html('This offer has expired!')
     $( "#countcon" ).removeClass( 'bg-teal-800' );
     $( "#countcon" ).addClass( 'bg-pink-800' );
   });

我想如果日期&lt; 30秒更改DIV(countcoun)的背景颜色,但它无法正常工作。

最后变化的背景颜色(青色到粉红色)它正常工作..

我试过 - if(event.offset.seconds&lt; 30),但也没有回复..(这个倒计时开头是TEAL背景颜色。

1 个答案:

答案 0 :(得分:1)

您将数据对象设置为此行中的变量日期:

var date = new Date(new Date().valueOf() + 60 * 1000);

尝试在弃权后立即添加以下行:

alert(data);

然后显示的是:

Fri Jul 22 2016 11:59:14 GMT+0200 (CEST)

这意味着您无法将所有内容与30进行比较并执行命令,如果它是真的,就像它永远不会那样。我想你想检查当前的第二个&#39;您的计时器是否低于30.如果是这样,您必须将您的if语句更改为:

if(event.strftime('%S') < 30){}

event.strftime('%S')正在做的是将倒计时的当前时间格式化为仅秒,例如:

19

然后可以将其与if语句中的int 30进行比较。要检查年,月,日,小时,分钟的计数器时间......必须更改if语句中的时间格式,因为&#39;%S&#39;代表秒数。请参阅倒计时formatting-documentation