javaScript setTimeout()和setInterval()定时器的区别和使用。

用倒计时的例子来解释两个的不同的使用

window.onload=function(){
            function getTime1(){
                var box=document.getElementById('box');
                //获取当前日期和时间
                var xianzai=new Date();
                //指定目标日期和时间
                var zhiding=new Date("2018/9/5 12:00:00");
                //获取现在的毫秒,返回距 1970 年 1 月 1 日之间的毫秒数。
                var a=xianzai.getTime();

                //获取指定的毫秒(返回距 1970 年 1 月 1 日之间的毫秒数。)                
                var b=zhiding.getTime();
                //把指定日期的减去现在的 就等于中间距离多长时间  开始毫秒 
                //所以要转成秒
                var shi=b/1000-a/1000;
                var h=parseInt(shi/3600);//获取小时
                var f=parseInt(shi/60)%60;//获取分钟
                var s=parseInt(shi%60);//获取秒
                if(h<10){//判断 如果小时小于10则在前面加上字符串”0“              来占位 
                h="0"+h;
                }
                if(f<10){
                    f="0"+f;
                }
                if(s<10){
                    s="0"+s;
                }
                var t="距离2018/9/5"+h+'时'+f+'分'+s;
                o.innerHTML=t;
            }
    setTimeout(getTime1,1000)//在1秒后  执行一次 getTime1函数
    getTime1();
    }

setTimeout() 方法可按照指定的时间来调用函数或计算表达式一次

    window.onload=function(){
            function getTime1(){
                var o=document.getElementById('box');
                //获取当前日期和时间
                var xianzai=new Date();
                //指定目标日期和时间
                var zhiding=new Date("2018/9/5 12:00:00");
                //获取现在的毫秒,返回距 1970 年 1 月 1 日之间的毫秒数。
                var a=xianzai.getTime();

                //获取指定的毫秒(返回距 1970 年 1 月 1 日之间的毫秒数。)                
                var b=zhiding.getTime();
                //把指定日期的减去现在的 就等于中间距离多长时间  开始毫秒 
                //所以要转成秒
                var shi=b/1000-a/1000;
                var h=parseInt(shi/3600);//获取小时
                var f=parseInt(shi/60)%60;//获取分钟
                var s=parseInt(shi%60);//获取秒
                if(h<10){//判断 如果小时小于10则在前面加上字符串”0“              来占位
                    h="0"+h;
                }
                if(f<10){
                    f="0"+f;
                }
                if(s<10){
                    s="0"+s;
                }
                var t="距离2018/9/5"+h+'时'+f+'分'+s;
                o.innerHTML=t;
            }
        setInterval(getTime1,1000)//每隔1秒不断调用执行函数
        getTime1();
    }

setInterval() 方法可按照指定的周期(以毫秒计)来调用函数或计算表达式。
setInterval() 方法会不停地调用函数不断执行,直到 clearInterval() 被调用或窗口被关闭。由 setInterval() 返回的 ID 值可用作 clearInterval() 方法的参数。

猜你喜欢

转载自blog.csdn.net/qq_38743783/article/details/82193075
今日推荐