前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >JavaScript(18)

JavaScript(18)

作者头像
Qwe7
发布2022-04-08 11:17:17
5050
发布2022-04-08 11:17:17
举报
文章被收录于专栏:网络收集

2、setInterval()和clearInterval()

在JavaScript中,我们可以使用setInterval()方法来设置“重复性”调用的函数。其中clearInterval()可以用来取消执行setTimeout()方法。

语法:

代码语言:javascript
复制
var 变量名 = setInterval (code , time);

说明:

参数code可以是一段代码,也可以是一个调用的函数名;

参数time表示时间,表示要过多长时间才执行code中的内容,单位为毫秒。

setTimeout()方法与setInterval()方法的语法很相似,实际上这两者在用法方面区别非常大。其中setTimeout()方法内的代码只会执行一次,而setInterval()方法内的代码会重复性执行,除非你使用clearInterval()方法来取消执行。

举例:

代码语言:javascript
复制
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

<title></title>

    <script type="text/javascript">

        //定义全局变量,用于记录秒数

        var n = 5;

        window.onload = function () {

            //设置定时器,重复执行函数countDown()

            var t = setInterval("countDown()", 1000);

        }

        //定义函数

        function countDown() {

            //判断n是否大于0,因为倒计时不可能有负数

            if (n > 0){

                n--;

                document.getElementById("num").innerHTML = n;

            }

        }

    </script>

</head>

<body>

    <p>新年倒计时:<span id="num">5</span></p>

</body>

</html>

在浏览器预览效果如下:

分析:

window.onload表示在页面加载完毕执行,在“JavaScript页面相关事件”我们会详细讲解到。

setInterval()方法会重复执行某一段代码或函数。如果这个例子使用setTimeout方法就不能实现了,因为setTimeout()方法只会执行一次,而setInterval()会重复执行。

举例:

代码语言:javascript
复制

<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <script type="text/javascript">

        //定义全局变量,用于记录秒数

        var n = 0;

        window.onload = function () {

            //设置定时器,重复执行函数add()

            var t = setInterval("add()", 1000);

            //点击“暂停”按钮事件

            document.getElementById("btn_pause").onclick = function () {

                clearInterval(t);

            }

            //点击“继续”按钮事件

            document.getElementById("btn_continue").onclick = function () {

                if (confirm("你还要继续装逼?")){

                    t = setInterval("add()", 1000);

                }

            }

        }

        //定义计时函数

        function add() {

            n++;

            document.getElementById("num").innerHTML = n;

        }

    </script>

</head>

<body>

    <p>你已经装了<span id="num">0</span>秒的“逼”,赶紧暂停吧!</p>

    <input id="btn_pause" value="暂停" type="button"/>

    <input id="btn_continue" value="继续" type="button" />

</body>

</html>

在浏览器预览效果如下:

分析:

这里我做了一个小程序,其中使用setInterval()方法重复执行计时函数,并且利用按钮点击事件配合clearInterval()方法来进行“暂停”。

对于初学者来说,这个程序可能有点复杂,涉及了JavaScript对话框、DOM操作和JavaScript事件。请大家学习了后续课程再来看看。

这一节,我们把定时器的语法简单给大家做个介绍,在后面课程或者以后开发中,你们会经常见到定时器的身影。

总结

1、在JavaScript中,关于定时器的实现,我们有2组方法:

(1)setTimeout()和clearTimeout();

(2)setInterval()和clearInterval();

2、setTimeout()方法内的代码只会执行一次,而setInterval()方法内的代码会重复性执行。

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云开发 CloudBase
云开发(Tencent CloudBase,TCB)是腾讯云提供的云原生一体化开发环境和工具平台,为200万+企业和开发者提供高可用、自动弹性扩缩的后端云服务,可用于云端一体化开发多种端应用(小程序、公众号、Web 应用等),避免了应用开发过程中繁琐的服务器搭建及运维,开发者可以专注于业务逻辑的实现,开发门槛更低,效率更高。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档