Jquery倒计时到期

时间:2015-07-30 14:46:20

标签: javascript jquery countdown

我需要一些帮助。我在页面上放了一个jquery倒计时器。我正在使用的倒计时是http://keith-wood.name/countdown.html我需要的是当一个倒计时到期时,它将倒计时到另一个日期。例如,它将倒计时到2015年1月8日。当它到达2015年8月1日时,我希望它倒数到另一个日期。因此,从2015年8月1日起,它将计入2015年8月5日。我希望这是有道理的。我已成功将倒计时本身放在页面上。这只是在我遇到麻烦时到期。

这是示例中的脚本。

<script>
    $(function () {
        var austDay = new Date();
        austDay = new Date(2015, 11 - 1, 7);
        $('#defaultCountdown').countdown({until: austDay});
        $('#year').text(austDay.getFullYear());
    });
</script>

它显示在此标签

<center><div id="defaultCountdown"></div></center>

我已经努力了。这是我所拥有的,但它也尽我所能。任何帮助将不胜感激

$(function () {
    var austDay = new Date();
    FirstDay = new Date(2015, 11 - 1, 7);
    SecondDay = new Date (2015, 11 - 1, 9);
    $('#defaultCountdown').countdown({until: FirstDay});
});

应该提到总共将有4个日期倒计时!

2 个答案:

答案 0 :(得分:1)

您可以使用onExpiry活动,以下只是您可以做的一个示例!不确定它是否有效!!可能是你必须经过反复试验。

首先设置一个全局变量来检查一旦完成计数:

var count=0;

$(function () {
    var austDay = new Date();
    austDay = new Date(2015, 11 - 1, 7);
    $('#defaultCountdown').countdown({until: austDay,onExpiry: liftOff});
    $('#year').text(austDay.getFullYear());
});

function liftOff() { 
     if(count==0)
     {
        $('#defaultCountdown').countdown({until: newDate});
        count=1;
     }
     else
        count=0;
}

您可以找到选项 http://jsfiddle.net/snoapps/2oha40h5/

<强>更新

好的,只需复制并粘贴以下代码即可!

经过测试

<强> here

var count=0; //a global variable

$(function () {
    shortly = new Date(); 
    shortly.setSeconds(shortly.getSeconds() + 5.5); //for time being this will run for 5 seconds
    $('#defaultCountdown').countdown({until: shortly,onExpiry: liftOff}); 
});

function liftOff() { 
//function that gets called on expiry
   if(count==0) //check already done 2nd time, if not get in
   {
        shortly = new Date(); 
        shortly.setSeconds(shortly.getSeconds() + 5.5); //again do it for 5 secs
        $('#defaultCountdown').countdown('option',{until: shortly});
        //set an option here for the same counter again
        count=1; //make this 1
   }
   else
       count=0;
}
  

上面的代码出现在javascript部分的末尾   上面给出的演示

答案 1 :(得分:0)

如何将日期与当前日期进行比较?

var today = new Date();
if(today<FirstDay){
    $('#defaultCountdown').countdown({until: FirstDay});
}
else if(today<=SecondDay){
    $('#defaultCountdown').countdown({until: SecondDay});
}

我不想在这里强制执行我的逻辑,概念是将日期与当前日期进行比较。但是,除非将客户端计算机设置为正确的时间并具有相同的时区,否则此方法将无法正常工作,或者它将为每个客户端提供不同的输出。我更喜欢在服务器端进行比较。 编辑 我改变它,以便第二个计数器在第一个计数器之后开始