Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как задать время таймера? (https://javascript.ru/forum/jquery/25404-kak-zadat-vremya-tajjmera.html)

dsnj 04.02.2012 13:03

Как задать время таймера?
 
Доброго времени суток!
Проблема следующая:

на странице есть несколько таймеров обратного отсчёта, которые создаются контроллером:
$data  .= '<td><div class="TIMER" id="'.$i.'"></div></td>';
$i++;


скрипт (http://keith-wood.name/countdown.html)
на стороне клиента, после получение контента с указанными счётчиками времени активирует их представления и задаёт время, исполняемую функцию по истечении работы счётчика и прочее:
$('.TIMER').countdown(          
                                    {
                                        until       : +300, 
                                        layout      : '<b>{dn}d  {hnn} {sep} {mnn} {sep} {snn} {desc}</b>',
                                        expiryText  : '<div>Время вышло</div>',
                                        onExpiry    : function(){alert($(this).attr('id'));}
                                    }
                                 );


В данном случае представляю рабочий вариант с заданием всем счётчикам одинакового времени отсчёта - 300 сек.
ПРОБЛЕМА: не получается задать каждому таймеру своё время отсчёта по его значению ID, то есть примерно следующее:
$('.TIMER').countdown(          
                                    {
                                        until       : +$(this).attr('id'), 
                                        layout      : '<b>{dn}d  {hnn} {sep} {mnn} {sep} {snn} {desc}</b>',
                                        expiryText  : '<div>Время вышло</div>',
                                        onExpiry    : function(){alert($(this).attr('id'));}
                                    }
                                 );

в таком случае для каждого таймера высвечивается:
NaNd NaN : NaN : NaN
и таймер соответственно не работает!

Прошу помощи в решении проблемы!

imsha 08.02.2012 10:07

В данном случае $(this) это не $('.TIMER')


Часовой пояс GMT +3, время: 02:42.