Javascript定时器

一次性定时器:setTimeout(fun,time);回调函数等待time时间后,执行一次!

参数:fun: 需要执行的回调函数/time等待的时间

永久定时器:setInterval(fun,time);回调函数每隔time时间后,执行一次!

参数:fun:需要执行的回调函数/间隔的时间/time间隔的时间

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title>定时器</title>
        <style>
            span {
                height: 30px;
                display: inline-block;
                border-color: #333;
            }
            h1 {
                vertical-align: middle;
            }
        </style>
    </head>
    <body>
        <h1>
            距离下次休假还有<span id="time"></span>
        </h1>
        <script>
            var finalDate=new Date("2020/1/1 00:00");    //计时结束的时间点
            function getTime() {
                var nowDate=new Date();    //程序开始运行的时间点
                console.log(finalDate-nowDate);    //获取结束时间到当前时间的毫秒数
                var ms=finalDate-nowDate;    //从程序开始执行的时间点到目标时间点所需的毫秒数
                //将毫秒数转换为天数,小时数,分钟数,秒数
                //计算;
                    //计算到结束时间所需的总的秒数
                var s=parseInt(ms/1000);    //计算秒数
                var d=parseInt(s/(24*60*60));    //计算剩余的天数:总的秒数 除以 一天所需的秒数,取整!
                var h=parseInt(s%(24*60*60)/(60*60));    //计算剩余的小时数=总的秒数内不足一天的秒数 除以 一个小时所需的秒数
                var m=parseInt(s%(60*60)/60);    //计算剩余的分钟数=总秒数 % 一个小时的秒数 除以 一分钟所需的秒数
                s=s%60;    //计算秒数 总的秒数按每分钟的秒数取余
                //将计算得出的值放到页面对应的元素中
                var str=d+""+h+""+m+"分钟"+s+"";
                time.innerHTML=str;
            }
            //设置定时器,反复调用上述函数
            setInterval(getTime,1000);
        </script>
    </body>
</html>

使用:每个定时器启动之后都有一个编号,可以用一个变量保存!

停止定时器:clearInterval(order);//停止编号对应的定时器,保存的值还在。

注意:如果一个定时器,不需要使用了。需要先停止,然后释放序号。

 

posted @ 2019-10-25 17:55  Man+Man=Man++  阅读(320)  评论(0编辑  收藏  举报