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 相关文章推荐
ext combox 下拉框不出现自动提示,自动选中的解决方法
Feb 24 Javascript
Javascript动态绑定事件的简单实现代码
Dec 25 Javascript
php图像生成函数之间的区别分析
Dec 06 Javascript
jquery ajax对特殊字符进行转义防止js注入使用示例
Nov 21 Javascript
使用百度地图api实现根据地址查询经纬度
Dec 11 Javascript
原生javaScript实现图片延时加载的方法
Dec 22 Javascript
JS实现仿QQ聊天窗口抖动特效
May 10 Javascript
完美解决UI-Grid表格元素中多个空格显示为一个空格的问题
Apr 25 Javascript
jquery+css实现下拉列表功能
Sep 03 jQuery
layui结合form,table的全选、反选v1.0示例讲解
Aug 15 Javascript
Angular刷新当前页面的实现方法
Nov 21 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
Sep 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
解析PayPal支付接口的PHP开发方式
2010/11/28 PHP
PHP定时执行计划任务的多种方法小结
2011/12/19 PHP
PHP使用imagick读取PDF生成png缩略图的两种方法
2014/03/20 PHP
thinkphp判断访客为手机端或PC端的方法
2014/11/24 PHP
thinkPHP框架RBAC实现原理分析
2019/02/01 PHP
JavaScript 组件之旅(二)编码实现和算法
2009/10/28 Javascript
javascript 用记忆函数快速计算递归函数
2010/03/15 Javascript
js判断IE6/IE7/FF的代码[XMLHttpRequest]
2011/02/16 Javascript
jQuery(js)获取文字宽度(显示长度)示例代码
2013/12/31 Javascript
Jquery创建层显示标题和内容且随鼠标移动而移动
2014/01/26 Javascript
jquery判断至少有一个checkbox被选中的方法
2015/06/05 Javascript
学习Vue组件实例
2018/04/28 Javascript
vue.js实现标签页切换效果
2018/06/07 Javascript
JavaScript进阶(四)原型与原型链用法实例分析
2020/05/09 Javascript
vue实现简单跑马灯效果
2020/05/25 Javascript
OpenLayer学习之自定义测量控件
2020/09/28 Javascript
[49:05]OG vs Newbee 2019DOTA2国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
[54:19]完美世界DOTA2联赛PWL S2 Magma vs PXG 第二场 11.28
2020/12/01 DOTA
python查找目录下指定扩展名的文件实例
2015/04/01 Python
python结合opencv实现人脸检测与跟踪
2015/06/08 Python
Django卸载之后重新安装的方法
2017/03/15 Python
Python实现运行其他程序的四种方式实例分析
2017/08/17 Python
Android基于TCP和URL协议的网络编程示例【附demo源码下载】
2018/01/23 Python
对python实现合并两个排序链表的方法详解
2019/01/23 Python
python3 json数据格式的转换(dumps/loads的使用、dict to str/str to dict、json字符串/字典的相互转换)
2019/04/01 Python
Python的Lambda函数用法详解
2019/09/03 Python
关于python pycharm中输出的内容不全的解决办法
2020/01/10 Python
基于Python fminunc 的替代方法
2020/02/29 Python
python+adb命令实现自动刷视频脚本案例
2020/04/23 Python
政法学院毕业生求职信
2014/02/28 职场文书
护校行动方案
2014/05/31 职场文书
毕业证委托书范文
2014/09/26 职场文书
代领学位证书毕业证书委托书
2014/09/30 职场文书
2015年会计人员工作总结
2015/05/22 职场文书
科级干部培训心得体会
2016/01/06 职场文书
十大最强格斗系宝可梦,超梦X仅排第十,第二最重格斗礼仪
2022/03/18 日漫