2012-05-06 51 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