美文网首页让前端飞Web前端之路
小猿圈web前端开发之JavaScript定时器与倒计时案例详解

小猿圈web前端开发之JavaScript定时器与倒计时案例详解

作者: 小猿圈_7197 | 来源:发表于2019-07-12 14:46 被阅读3次

    你会不会在开发项目的过程中遇到这样的问题,经常会有一些计时器或者定时器功能需求,还有一些需要倒计时功能,针对以上的问题小猿圈web前端讲师分享给大家JavaScript定时器与倒计时案例详解,希望对于学习中的你,有一定的帮助。

    1、设置定时器

    定时器,适用于定时执行的任务中。在BOM的window对象中,有这样的两个函数是用于设置定时器

    setTimeout(function,delay);//设置延时多少毫秒执行该函数,只执行一次,返回值是一个id

    setInterval(function,delay);//设置间隔多少毫米一直执行该函数,执行多次,返回值是一个id

    两者的区别就在于setTimeout方式只执行一次,而setInterval理论可以执行无数次,直到其被取消。

    2、取消定时器

    上面说过,在开启定时器会返回一个id,这个id是用来区别开启的多个定时器。当我们要取消定时器时,可以使用一下这两个方法。

    clearTimeout(id);//取消由setTimeout方式开启的定时器

    clearInterval(id);//取消由setInterval方式开启的定时器

    3、循环调用setTimeout

    在使用中,可以用setTimeout方式来实现setInterval的效果,其实这个让我想起了当初学Android是的Handler机制,发一个延时消息,然后在内容中再发出消息。例如:

    <script>

      var t = 1;

      function time(){

        console.log(t++);

        window.setTimeout('time()',1000);

      }

      window.setTimeout('time()',1000);

    </script>

    4、倒计时案例

    在页面上有一个按钮,显示的是倒计时的数字,每隔一秒修改数字,等到0秒时,就切换爆炸图片。

    代码

    <!DOCTYPE html>

    <html>

    <head>

      <meta charset="utf-8">

      <meta http-equiv="X-UA-Compatible" content="IE=edge">

      <title></title>

      <link rel="stylesheet" href="">

    </head>

    <body>

      <h1>炸弹效果</h1>

      <input type="button" value="5" /><br/>

      <img src="warn.jpg"/>

    </body>

    <script>

      //定时执行

      function time(){

        var input = document.getElementsByTagName('input')[0];//获取按钮中的数字

        var time = parseInt(input.value) - 1;

        input.value = time;

        //爆炸操作

        if(time <= 0){

          var img = document.getElementsByTagName('img')[0];

          img.src = 'boom.jpg';//切换爆照图片

          clearInterval(t1);//清除定时器

        }

      }

      var t1 = window.setInterval('time()',1000);//开启定时器

    </script>

    </html>

    思路

    其实这个例子挺简单的,首先以每隔1秒开启定时器,在定时执行函数中每次获取当前倒计时的数字,然后进行减1操作,最后又赋值到按钮中,当数字小于或等于0秒时,就切换爆炸图片已达到爆炸效果,此时不要忘记取消定时器了。

    经过小猿圈web前端老师的介绍相信很多同学对于JavaScript定时器与倒计时案例详解有了一定的了解,不过大家不要忘记点赞、收藏、转发呦web前端自学②群:738735873,让更多和你一样有同样问题的同学得到帮助,小猿圈为大家提供一个良好的学习平台。

    相关文章

      网友评论

        本文标题:小猿圈web前端开发之JavaScript定时器与倒计时案例详解

        本文链接:https://www.haomeiwen.com/subject/wpaohctx.html