所以我在一分钱拍卖网站上实现这个功能。使用countdown.js作为库来运行倒计时。 倒计时的工作方式如下:
<div class="countdown cf content_item-countdown" style="width: 100%;" data-countdown="<?php echo date('M d, Y H:i:s O', strtotime($item['end_date']));?>"></div>
此处的end_date
来自数据库,它是计时器停止的日期(并且出价将结束)
倒计时功能:
$('.countdown').each(function(){
var count = $(this), time = $(this).data('countdown'), format = $(this).data('format');
var Otime = new Date(time), o = {
serverSync: serverTime,
until:Otime,
// demo data set to reset timer, when it's finished
// change zeroCallback to prefered callback
zeroCallback: function(options) {
}
};
if(format){
$.extend(o,{format:format});
}else{
$.extend(o,{layout: '{dn} {dl} {hnn}{sep}{mnn}{sep}{snn}'});
}
$(this).countdown(o);
});
现在我应该实现另一个功能,
如果end_time&lt; 15秒(表示剩余的出价时间小于15秒),并且某个人出价,则计时器应自动重置为15秒,依此类推。喜欢:http://www.quibids.com/en/
我通过将end_date
更新到某个秒来完成此操作。
并更新计时器:
$(time_update).html( '<div class="countdown cf content_item-countdown" style="width: 100%;" data-countdown="">'+data[$i].end_date+'</div>');
我假设自倒数计时器到达end_date后它会自动重置它。 但它没有,而是打印结束日期并恢复到旧的倒计时。 每当我刷新页面时,计时器都会正常更新,但是我希望它能够随时刷新,我认为它需要一个AJAX调用,任何帮助?
答案 0 :(得分:1)
最好的方法是销毁countdown
窗口小部件,然后使用数据库中更新的end_date
显示它