注册 登录
编程论坛 ASP技术论坛

js 时间问题?

sncelpl 发布于 2022-09-16 11:21, 1042 次点击
var se,m=0,d=0,h=0,s=0,ss=1,t="",t0="",t1="",t2="",t3="";
function second(){
    if((ss%2.5)==0){s+=1;ss=1;}
    if(s>0 && (s%60)==0){m+=1;s=0;}
    if(m>0 && (m%60)==0){d+=1;m=0;}
        if(d>0 && (d%60)==0){h+=1;d=0;}
        if(h>0 && (h%60)==0){h=1;h=0;}
    t0=(h<10)?("0"+h):h;
        t1=(d<10)?("0"+d):d;
        t2=(m<10)?("0"+m):m;
    t3=(s<10)?("0"+s):s;
    t=t0+":"+t1+":"+t2+":"+t3;
    if(t1>14)
    {
      SubmitExam();
      clearInterval(se);
    }
    //t=h+":"+d+":"+m+":"+s;
    document.getElementById("gettime").innerHTML=t;
    ss+=1;
}
se=setInterval("second()",1);
//clearInterval(se);ss=1;h=d=m=s=0;

那位大佬帮我改下
这个时间在360浏览器正常在IE里就不正常了慢了

2 回复
#2
好学2022-09-16 12:13
慢是很正常的,看代码:
setInterval("second()",1);

后面的那个参数1,代表的不是1秒执行一次,而是千分之一秒执行一次,而second()函数里面,有对dom的操作,浏览器执行js很快,但是对dom元素的操作会有些慢,上面的定时函数一秒钟调用1000次second函数,也就是说一秒钟对dom操作1000次,自然就会拖慢时间了,就会出现时间不准确、很慢的现象
#3
好学2022-09-16 12:18
js语言本身很快,运行耗时几乎可以忽略不计,但是,语言是语言,dom是dom,很多人刚刚学习前端时分不清二者之间的关系,下面这行就是对dom的操作:
document.getElementById("gettime").innerHTML=t;

脱离浏览器去运行js,比如使用nodejs,会加深对js语言本身的感悟
1