Здравствуйте, я новичок в javascript и сегодня усердно работал над этим и не смог найти решение.Пожалуйста, помогите мне.
<script>
if (/*@cc_on!@*/false) {
document.onfocusin = startB;
document.onfocusout = stopB;
} else {
window.onfocus = startB;
window.onblur = stopB;
}
var x = 1000;
var y = 1;
function startB() {
if (x !== 'ok') {
x = x - y;
document.form.num.value = x;
timeoutID=setTimeout("startB()", 1000);
}
if (x == 0) {
x = 'ok';
document.form.num.value = x;
}
}
function stopB() {
clearTimeout(timeoutID);
}
</script>
<body onLoad="startB()">
<form name="form">
<input name="num" size="10" readonly="readonly" type="text">
</form>
Когда я открываю эту страницу, она ведет обратный отсчет со значением 1 / сек в обычном режиме, и когда я меняю окно / вкладку, она останавливается, я снова возвращаюсь, это продолжается 1 / сек, вот чтоЯ хочу, но у меня есть большая проблема -> Когда я перехожу по этой ссылке и очень быстро меняю окно / вкладку, она все еще не загружена, она начинает обратный отсчет в состоянии onblur, а когда я возвращаюсь в состояние onfocus, функциячитается дважды и начинает считать 1 / 0,5сек ... удвоение.
Может кто-нибудь помочь мне с этим?Заранее спасибо.