Обратный отсчет
Здравствуйте, помогите, пожалуйста, решить проблему:
Сделал на php таймер обратного отсчета, решил добавить с js немного интерактивности, что бы таймер работал и без перезагрузки страницы. В общем, у меня есть текст на странице такого вида: ....через 27 минут 35 секунд. <nobr><span id="m"> 27</span><span id="m_label"> минут</span><span id="s"> 35</span><span id="s_label"> секунд</span></nobr> И собственно js код, который получает числа из 35 и 27 каждую секунду и меняет и сравнивает нужно ли поменять склонение слова(это работает). А когда время доходит 0 в обоих числах, вместо всей фразы вместе с таймером появляется другой текст и цикл прекращается. Так вот при загрузке страницы сразу появляется финальная надпись. Да и если убрать кусок кода появления надписи, то таймер сразу по нулям числа ставить будто игнорируя интервал а потом чрез интервал меняет склонение... Вот js $(document).ready(function() { setTimeout(count_back(), 1000);//начинает работать через секунду }); function count_back() { var m = parseFloat($('#m').html());//Минуты var m_label = $('#m_label').html();//Склоняемое слово "минуты" var s = parseFloat($('#s').html());//Секунды var s_label = $('#s_label').html();//Склоняемое слово "секунды" if (s==0) {//если секунды достигли нуля, следующее число секунд 59 s = 59; $('#s').html(' '+s);//перезапись секунд change_s_label(s, s_label);//функция перезапись слова "секунды" (работает корректно) m--;//ну и собственно снижаем число минут if (m==0) {//если меняем с 1 на 0 hide_elem('m');//прячем фразу "0 минут" - работает } $('#m').html(m);//перезапись минут change_m_label(m, m_label);//функция перезапись слова "минуты" (работает корректно) show_elem('s');//проявляем фразу 59 секунд (когда меняется с 1 на 0 скрывается) - должно работать } else {//если число секунд не 0, то выполняем стандартную операцию s--;//уменьшаем секунды на одну $('#s').html(' '+s);//перезаписываем change_s_label(s, s_label);//функция перезапись слова "секунды" (работает корректно) if (s==0) {//если секунды достигли нуля hide_elem('s');//скрываем фразу "0 секунд" - работает } } if(m==0 && s==0) {//если таймер закончился меняем текст $('#message :last-child').fadeOut(500).html('Попробуйте снова.').fadeIn(500); } else { setTimeout(count_back(), 1000);//если таймер не закончился повторяем функцию } } Помогите, пожалуйста, ребята :help: :help: :help: |
Synov_son, строка 2 и 33 круглые скобки нафиг?!
Цитата:
|
Ну это ж функция , а не переменная. Не нужны ?
|
Все работает, емае - столько промучился из-за скобок. Спасибо большое.
|
Часовой пояс GMT +3, время: 00:52. |