Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Обратный отсчёт, помогите (https://javascript.ru/forum/dom-window/72864-obratnyjj-otschjot-pomogite.html)

Reapper 03.03.2018 12:49

Обратный отсчёт, помогите
 
Добрый день.
У меня не большая, но проблема. Я шарю очень печально на JS, по этому помогите избавиться и добавить несколько плюшек.
<script>
function startTimer (tmr)
{
var B = document.getElementById ('btn'); B.disabled = 1;
var S = document.getElementById ('mT'); S.innerHTML = tmr;

t = setInterval (function ()
{
var f = function (x) {return (x / 100).toFixed (2).substr (2)},
d = ':',
h = 3.6e3,
y = S.innerHTML.split (d),
z = --y [2] + y [0] * h + y [1] * 60;

if (!z) clearInterval (t), B.disabled = 0;
S.innerHTML = [f (Math.floor (z / h)),
f (Math.floor (z % h / 60)),
f (z % h % 60)].join (d);
}, 1000);
}
</script>
<div class="bor">
<p><button id="btn" onclick="startTimer ('01:00:05')">Запуск</button>
<p><span id="mT">01:00:05</span>
</div>
Нашел такой скрипт и не могу избавиться от ручного запуска, так как он должен стартовать автоматически с запуском страницы и не могу добавить функцию переадресации на другую страницу, когда таймер дойдёт до нуля.
Помогите, а то совсем уже скоро сложусь.

j0hnik 03.03.2018 15:57

<div class="bor">
<p><span id="mT">01:00:05</span>
</div>

<script>
function startTimer (tmr)
{
var S = document.getElementById ('mT');
S.innerHTML = tmr;

t = setInterval (function ()
{
var f = function (x) {
	return (x / 100).toFixed (2).substr (2);
}, 
d = ':',
h = 3.6e3,
y = S.innerHTML.split (d), 
z = --y [2] + y [0] * h + y [1] * 60;

if (z<1) {
	clearInterval (t);
	location = 'https://google.com';
}
S.innerHTML = [f (Math.floor (z / h)),
f (Math.floor (z % h / 60)), 
f (z % h % 60)].join (d);
}, 1000);
}
startTimer('00:00:05');
</script>


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