2012-05-06 3 views
4

Я кодирую обратный отсчет с помощью плагина обратного отсчета jQuery.jQuery Countdown Plugin - показывать только ненулевые периоды

Я только хочу, чтобы он показывал активные («ненулевые») периоды, например. вместо

Осталось: 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

Далееhttp://keith-wood.name/countdownRef.html#format

[Цитировать] Формат вариант == ... Используйте прописные символы для обязательных периодов, или соответствующие строчные символы для дополнительных периодов, то есть только дисплей если отличная от нуля. После того, как один дополнительный период показано, все те после этого также показаны ... [Unquote]

код

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

Спасибо за ваш ответ Tats_innit, да, я мог бы сделать это с помощью «формата», но я хочу использовать «макет». Как я уже писал, в моем примере «zero Days» исчезает, но не ноль часов/минут. Может быть, это ошибка? Документация http://keith-wood.name/countdownRef.html#layout говорит: «Если вам нужно исключить целые секции, когда значение периода равно нулю, и вы указали период как необязательный, объедините эти разделы с помощью '{p <}' and '{p>}', где p такое же, как указано выше. " Хм, что подразумевается под «и вы указали период как необязательный»? Как указать часы/минуты как необязательные? – user1377886

+0

@ пользователь1377886 hiya cooleos! вы можете попробовать использовать один из jsfiddle и щелкнуть по нему, я могу взглянуть на bruv :) <может быть ошибкой> или может быть что-то еще; Приятного, привет! –

+0

OK, посмотрите здесь: 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