2012-05-06 33 views
4

我正在用jQuery倒计时插件编写倒数计时器。jQuery倒计时插件 - 只显示非零时间段

我只希望它显示活动('非零')时段,例如,而不是

剩余时间:0天0小时,13分钟,20秒

,只显示

13分钟,20秒。

我的代码是:

$('#countdown').countdown({ 
    expiryUrl:'index.php?show=main', 
    expiryText: 'EXPIRED', 
    until: timeleft, 
    layout:'{d<}{dn} {dl} and {d>}{h<}{hn} {hl}, {h>}{m<}{mnn} {ml}, {m>}{s<}{snn}{sl}{s>}' 
}); 

但问题是,这种代码是隐藏的“天”的时期,但不是“小时/分钟”

所以目前我得到这样的:

剩余时间:0小时10分,27秒

什么我必须做的全部隐藏零周期?

谢谢!

回答

3

你好请看这里加入2的jsfiddle向您展示的区别:http://jsfiddle.net/8JJ9B/6/(仅秒就会出现当你设置倒计时**format**选项,因为较低的情况下发生这种情况)http://jsfiddle.net/8JJ9B/4/(零也会显示因为我有格式选项设置为资本字符)更新http://jsfiddle.net/cUW4M/

为了避免任何非零值出现倒计时插件有一个称为format:options as lower case character

参考0

此外http://keith-wood.name/countdownRef.html#format

[报价] 格式选项== ...使用大写字符强制周期,或 相应可选周期小写字符,即,仅 显示如果非零。一旦一个可选的期间所示,所有的人 后也显示... [引文结束]

代码

$('#highlightCountdown').countdown({until: 0, format: 'hmS',onTick: highlightLast5}); 
+0

谢谢您的回答Tats_innit,是的,我可以用“格式化”这样做,但我想用“布局”。正如我写的,在我的例子中“零日”消失,但不是零小时/分钟。也许这是一个错误? 文档http://keith-wood.name/countdownRef.html#layout说: “如果您需要在周期值为零时排除整个部分并且您已将周期指定为可选部分,请将这些部分与'{p <}' and '{p>}',其中p与上面相同。“ 嗯,什么叫“和你指定的时间内为可选”?我如何指定小时/分钟作为可选项? – user1377886

+0

@ user1377886 hiya cooleos!你可以尝试使用其中一个jsfiddle并将它弹过来,我可能会看看布鲁夫:) <可能是bug>或可能是别的东西;有一个很好的,欢呼! –

+0

行,看看这里: http://jsfiddle.net/8JJ9B/9/ 它计数100秒(1分40秒),它不显示日,但它显示小时,即使它们为零 – user1377886

0

简化@ Tats_innit的答案的版本(所有正确的信息是在评论和jsfiddles): 结合格式布局参数是关键。

$('#mytimer').countdown({ 
    until: timerEnd, 
    compact: true, 
    format: 'dhMS', 
    layout: '{d<}{dn} days {d>}{h<}{hn}{sep}{h>}{m<}{mnn}{sep}{m>}{s<}{snn}{s>}' 
}); 

这产生酌情:

4天22时16分01秒

11时12分13秒

06:05

00:01