onfocus onblur countdown timer problem

JavaScript and client side scripting.

Moderator: General Moderators

Post Reply
yb1234yb
Forum Newbie
Posts: 3
Joined: Tue Jan 04, 2011 8:23 pm

onfocus onblur countdown timer problem

Post by yb1234yb »

Hello I'm newbie in javascript and worked hard today on this and couldn't find the solution.
Please help me.



<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>


When I open this page it counts down with value 1/sec normally and when I change window/tab it stops, I again come back it's continues 1/sec, this is what I want, but I have a big problem --> WHEN I GO TO THIS LINK AND CHANGE WINDOW/TAB VERY QUICKLY, THAT IS STILL UNLOADED, IT STARTS COUNTING DOWN IN ONBLUR STATUS, AND WHEN I COME BACK TO ONFOCUS STATUS, THE FUNCTION IS READ TWICE AND STARTS COUNTING DOWN 1/0.5sec... DOUBLE.

Can anyone help me with this?
Thanks in advance.
User avatar
Jade
Forum Regular
Posts: 908
Joined: Sun Dec 29, 2002 5:40 pm
Location: VA

Re: onfocus onblur countdown timer problem

Post by Jade »

What exactly are you trying to do? A drop down tab menu with some kind of animation effect?
Post Reply