Sign in to follow this  
w00h00

Onfocus Onblur Contdown Timer Problem

Recommended Posts

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

Please help me.

 

 

 

<script>

if (/*@[email protected]*/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.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this