jQuery 倒计时插件 - 仅显示非零周期

jQuery Countdown Plugin - only show non-zero periods

本文关键字:周期 显示 倒计时 插件 jQuery      更新时间:2023-09-26

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

我该怎么做才能隐藏所有零周期?

谢谢!

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

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

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

[报价]格式选项 == ...对强制句点使用大写字符,或 可选句点的相应小写字符,即仅 如果非零,则显示。显示一个可选周期后,所有 之后也显示...[取消引用]

法典

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

@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