嗨我正在使用Java腳本計時器,它在IE中運行良好,但是在Chrome最小化時它變得太慢,在Mozilla中停止計時器。任何人都可以提出建議我的代碼如下: -當窗口最小化時,Chrome瀏覽器和Mozilla中的計時器JavaScript不運行
<html>
<head>
<script>
var millisec = 0;
var seconds = 0;
var timer;
function display(){
if (millisec>=9){
millisec=0
seconds+=1
}
else
millisec+=1
document.d.d2.value = seconds + "." + millisec;
timer = setTimeout("display()",100);
}
function starttimer() {
if (timer > 0) {
return;
}
display();
}
function stoptimer() {
clearTimeout(timer);
timer = 0;
}
function startstoptimer() {
if (timer > 0) {
clearTimeout(timer);
timer = 0;
} else {
display();
}
}
function resettimer() {
stoptimer();
millisec = 0;
seconds = 0;
}
</script>
</head>
<body>
<h5>Millisecond Javascript Timer</h5>
<form name="d">
<input type="text" size="8" name="d2">
<input type="button" value="Start/Stop" onclick="startstoptimer()">
<input type="reset" onclick="resettimer()">
</form>
</body></html>
參見[我怎樣才能當標籤是在Chrome中不活躍的setInterval還工作嗎?(http://stackoverflow.com/q/5927284/218196)。不確定關於Firefox。 – 2014-09-10 16:17:39
認識到'setTimeout(「display()」,100)'最好寫作爲'setTimeout(display,100)'(無括號!)「。 JavaScript會評估''display()「'這是一種效率不高的效果。 – Halcyon 2014-09-10 16:23:13