Вечер добрый, уважаемые!
Есть обратный таймер, который считает мин. и сек.
Код:
|
<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 (':'); |
Если я что-то не так понял, прошу меня поправить.
За ранее спасибо.