小编use*_*923的帖子

当窗口失去焦点时,Settimeout无法正常工作

我有一个简单的JavaScript计时码表显示在名为"d2"的表单字段上,它用于检查某人执行特定任务所需的时间:

var milisec=0 
var seconds=0
var complemento1=""
document.form1.d2.value='00:00:00' 

function display(){ 
    if (milisec>=9){ 
        milisec=0 
        seconds+=1 
    } 
    else{
        milisec+=1
    }
    complemento1=complemento2=complemento3="";
    if ((seconds%60)<10) complemento1="0";
    if ((Math.floor(seconds/60)%60)<10) complemento2="0";
    if ((Math.floor(seconds/3600))<10) complemento3="0";
    document.form1.d2.value=complemento3+Math.floor(seconds/3600)+":"+complemento2+(Math.floor(seconds/60)%60)+":"+complemento1+(seconds%60)
    setTimeout("display()",100) 
}
Run Code Online (Sandbox Code Playgroud)

问题是当人打开一个新标签/使用另一个程序时,计时器停止,然后在窗口再次聚焦时恢复(使用Chrome).它具有最奇怪的行为,因为有时它会起作用,有时却不起作用.

我看到许多帖子需要一个脚本在没有聚焦时停止,我想要完全相反,搜索超过一个小时没有运气.非常感谢您的帮助!

javascript settimeout

6
推荐指数
1
解决办法
3020
查看次数

标签 统计

javascript ×1

settimeout ×1