jQuery Countdown插件 - 仅显示非零时段

时间:2012-05-06 10:09:42

标签: javascript jquery countdown period countdowntimer

我正在使用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秒

我需要做些什么来隐藏所有零时段?

谢谢!

2 个答案:

答案 0 :(得分:3)

Hiya请看这里添加2个jsfiddle以显示差异:http://jsfiddle.net/8JJ9B/6/(只有秒数会出现注意当您将倒计时的**format**选项设置为较低时会发生这种情况case) http://jsfiddle.net/8JJ9B/4/(零也会出现,因为我将格式选项设置为大写字符)更新 http://jsfiddle.net/cUW4M/

为避免出现任何非零值,倒计时插件会有一个名为format:的引用options as lower case character

进一步 http://keith-wood.name/countdownRef.html#format

  

[quote] 格式选项== ...在必填期间使用大写字符,或者   可选时段的相应小写字符,即仅   显示非零。一旦显示一个可选时段,所有时段   之后还会显示...... [Unquote]

<强>码

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

答案 1 :(得分: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