JavaScript计时器示例分析


Posted in Javascript onFebruary 05, 2015

1.什么是JavaScript计时器?

在JavaScript中,我们可以在设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。

2.计时器类型

一次性计时器:仅在指定的延迟时间之后触发一次。
间隔性触发计时器:每隔一定的时间间隔就触发一次

3.计时器方法

1):一次性计时器

A):setTimeout(): 指定的延迟时间之后来执行代码,进执行一次

语法:setTimeout(代码,延迟时间);

参数说明:

1. 要调用的函数或要执行的代码串。
2. 延时时间:在执行代码前需等待的时间,以毫秒为单位(1s=1000ms)。

B):clearTimeout():取消setTimeout()设置

语法:clearTimeout(timer)

参数说明:
timer:由 setTimeout() 返回的 ID 值。该值标识要取消的延迟执行代码块。

调用setTimeout()和clearTimeout()延迟方法:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title>JavaScript计时器</title>

        <input type="button" value="开始" id="btnStart" onclick="StartPrint()">

        <input type="button" value="暂停" id="btnStop" onclick="StopPrint()">

        <br>

    </head>

    <body>

        <script type="text/javascript">

            //定义打印方法

            function Print()

            {

                console.log("我在打印!");

            }

            var timer;//该值标识要取消的延迟执行代码块

            //开始打印

            function StartPrint()

            {

                timer=setTimeout(Print,1000);//调用计时器,延迟1秒打印,只执行一次

            }

            //结束打印

            function StopPrint()

            {

                clearTimeout(timer);//取消计时器

            }

        </script>

    </body>

</html>

调用setTimeout()和clearTimeout()无限循环方法:

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title>JavaScript计时器</title>

        <input type="button" value="开始" id="btnStart" onclick="StartPrint()">

        <input type="button" value="暂停" id="btnStop" onclick="StopPrint()">

        <br>

    </head>

    <body>

        <script type="text/javascript">

            //定义打印方法

            function Print()

            {

                console.log("我在打印!");

                timer=setTimeout(Print,1000);//开始计时器,调用自己,进行无穷循环

            }

            var timer;//该值表示要取消延迟执行的代码块

            //开始打印

            function StartPrint()

            {

                Print();//调用打印方法

            }

            //结束打印

            function StopPrint()

            {

                clearTimeout(timer);//取消计时器

            }

        </script>

    </body>

</html>

 
2):间隔性触发计时器

A):setInterval():在执行时,从载入页面后每隔指定的时间执行代码

语法:setInterval(代码,交互时间);

参数说明:

1. 代码:要调用的函数或要执行的代码串。

2. 交互时间:周期性执行或调用表达式之间的时间间隔,以毫秒计(1s=1000ms)。

返回值:

一个可以传递给 clearInterval() 从而取消对"代码"的周期性执行的值。

调用函数格式(假设有一个clock()函数):

setInterval("clock()",1000) 或 setInterval(clock,1000)

B):clearInterval() 方法可取消由 setInterval() 设置的交互时间

语法:clearInterval(timer)

参数说明:
timer:由 setInterval() 返回的 ID 值。

调用setInterval()和clearInterval() 执行间隔执行方法实例

<!DOCTYPE html>

<html>

    <head>

        <meta charset="utf-8">

        <title>JavaScript计时器</title>

        <input type="button" value="开始" id="btnStart" onclick="StartPrint()">

        <input type="button" value="暂停" id="btnStop" onclick="StopPrint()">

        <br>

    </head>

    <body>

        <script type="text/javascript">

            //定义打印方法

            function Print()

            {

                console.log("我在打印!");

            }

            var timer;//该值标识要取消的计时器执行代码块

            //开始打印

            function StartPrint()

            {

            timer=setInterval("Print()",1000);//开始计时器

            }

            //结束打印

            function StopPrint()

            {

                clearInterval(timer);;//取消计时器

            }

        </script>

    </body>

</html>

以上就是本文所述的全部内容了,希望小伙伴们能够喜欢。

Javascript 相关文章推荐
JavaScript中通过闭包解决只能取得包含函数中任何变量最后一个值的问题
Aug 12 Javascript
Web Inspector:关于在 Sublime Text 中调试Js的介绍
Apr 18 Javascript
jQuery移动端日期(datedropper)和时间(timedropper)选择器附源码下载
Apr 19 Javascript
bootstrap-wysiwyg结合ajax实现图片上传实时刷新功能
May 27 Javascript
js无法获取到html标签的属性的解决方法
Jul 26 Javascript
利用jQuery实现打字机字幕效果实例代码
Sep 02 Javascript
详解Angular.js数据绑定时自动转义html标签及内容
Mar 30 Javascript
JavaScript中的return布尔值的用法和原理解析
Aug 14 Javascript
详解Vue Elementui中的Tag与页面其它元素相互交互的两三事
Sep 25 Javascript
微信小程序分享海报生成的实现方法
Dec 10 Javascript
Angular(5.2-&gt;6.1)升级小结
Dec 27 Javascript
详解如何在Javascript中使用Object.freeze()
Oct 18 Javascript
编写自己的jQuery提示框(Tip)插件
Feb 05 #Javascript
使用pjax实现无刷新更改页面url
Feb 05 #Javascript
BOOTSTRAP时间控件显示在模态框下面的bug修复
Feb 05 #Javascript
jquery手风琴特效插件
Feb 04 #Javascript
Jquery中find与each方法用法实例
Feb 04 #Javascript
javascript中Array数组的迭代方法实例分析
Feb 04 #Javascript
AngularJs根据访问的页面动态加载Controller的解决方案
Feb 04 #Javascript
You might like
用文本文件实现的动态实时发布新闻的程序
2006/10/09 PHP
php设计模式 Observer(观察者模式)
2011/06/26 PHP
解析PHP中ob_start()函数的用法
2013/06/24 PHP
PHP实现AES256加密算法实例
2014/09/22 PHP
PHP中list()函数用法实例简析
2016/01/08 PHP
Yii rules常用规则示例
2016/03/15 PHP
PHP实现微信公众号验证Token的示例代码
2019/12/16 PHP
javascript 动态调整图片尺寸实现代码
2009/12/28 Javascript
JavaScript CSS修改学习第一章 查找位置
2010/02/19 Javascript
jquery实现固定顶部导航效果(仿蘑菇街)
2013/03/21 Javascript
Js 时间函数getYear()的使用问题探讨
2013/04/01 Javascript
获得Javascript对象属性个数的示例代码
2013/11/21 Javascript
javascript window.open打开新窗口后无法再次打开该窗口问题的解决方法
2014/04/12 Javascript
javascript面向对象之对象的深入理解
2015/01/13 Javascript
jQuery选择器源码解读(四):tokenize方法的Expr.preFilter
2015/03/31 Javascript
js判断价格,必须为数字且不能为负数的实现方法
2016/10/07 Javascript
一个可复用的vue分页组件
2017/05/15 Javascript
ES6学习之变量的两种命名方法示例
2017/07/18 Javascript
vue引用js文件的多种方式(推荐)
2018/05/17 Javascript
Vue循环遍历选项赋值到对应控件的实现方法
2020/06/22 Javascript
js实现拖拽与碰撞检测
2020/09/18 Javascript
闭包在python中的应用之translate和maketrans用法详解
2014/08/27 Python
Python通过Django实现用户注册和邮箱验证功能代码
2017/12/11 Python
Python matplotlib实时画图案例
2020/04/23 Python
pandas按条件筛选数据的实现
2021/02/20 Python
FC-Moto英国:欧洲最大的摩托车服装和头盔商店之一
2019/08/25 全球购物
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
高中毕业生自我鉴定范文
2013/09/26 职场文书
光信息科学与技术专业职业生涯规划
2014/03/13 职场文书
白血病募捐倡议书
2014/05/14 职场文书
企业法人授权委托书范本
2014/09/23 职场文书
乡镇党建工作汇报材料
2014/10/27 职场文书
车辆安全隐患排查制度
2015/08/05 职场文书
十大必看国产动漫排名,魁拔上线,第二曾在日本播出
2022/03/18 国漫
mysql如何查询连续记录
2022/05/11 MySQL
Spring Boot优化后启动速度快到飞起技巧示例
2022/07/23 Java/Android