您好,我是 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 秒。 。 双倍的。
谁能帮我这个?提前致谢。