Секундный обратный таймер

Тема в разделе "JavaScript", создана пользователем VTrial, 26 фев 2014.

Модераторы: ZiX
  1. VTrial

    VTrial Создатель

    Регистр.:
    4 ноя 2013
    Сообщения:
    17
    Симпатии:
    0
    Вечер добрый, уважаемые!
    Есть обратный таймер, который считает мин. и сек.
    Код:
    <span id="timer" long="00:29">00:30</span>
    <script>
    var t = setInterval (function ()
       {
       function f (x) {return (x / 100).toFixed (2).substr (2)}
       var o = document.getElementById ('timer'), w = 60, y = o.innerHTML.split (':'),
       v = y [0] * w + (y [1] - 1), s = v % w, m = (v - s) / w; if (s < 0)
       var v = o.getAttribute ('long').split (':'), m = v [0], s = v [1];
       o.innerHTML = [f (m), f (s)].join (':');
       }, 1000);
    </script>
    Для задания, мне необходимо, чтобы таймер считал только секунды, предварительно брав значения переменной.
    Т.к. я в JS не разбираюсь, прошу вашей помощи разобраться в коде.

    Мои догадки:
    Допустим наша переменная $time = 59;
    Вывод должен выглядеть по идеи так:
    Код:
    <span id="timer" long="00:<? echo $time?>">00:<? echo $time?></span>
    А теперь по полочкам:
    Это, я так понял, задает переменной t выполнение определенного действия раз в 1000 мсек (1 сек).
    Код:
    var t = setInterval (function ()
       {
    ..........
    }, 1000);
    Без малейшего понятия, что это и для чего:
    Код:
    function f (x) {return (x / 100).toFixed (2).substr (2)}
    Далее берем значение с html разметки по ид "timer", присваиваем значение переменной w и разбиваем полученную строку из разметки на 2 части, где разделитель ":" ?!
    Код:
    var o = document.getElementById ('timer'), w = 60, y = o.innerHTML.split (':'),
    Затем проводим математические действия, где y[0] - это значение до ":" и y[1] - после ":";
    s - это секунды, однако действие v%w мне не понятно;
    m - минуты, тут все понятно (наверное).
    Код:
    var o = document.getElementById ('timer'), w = 60, y = o.innerHTML.split (':'),
    После берем значение с атрибута "long", разделяя на 2, до : и после, присваивая значения переменным.
    Код:
    var v = o.getAttribute ('long').split (':'), m = v [0], s = v [1];
    Ну и сам вывод:
    Выводим значения переменных для минут и секунд, разделяя :
    Код:
    o.innerHTML = [f (m), f (s)].join (':');
    Если я что-то не так понял, прошу меня поправить.
    За ранее спасибо.

    Тема не актуальна. Вопрос решен.
     
    Последнее редактирование модератором: 28 фев 2014