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编程起步(第四课)
Jan 10 Javascript
修改jQuery.Autocomplete插件 支持中文输入法 避免TAB、ENTER键失效、导致表单提交
Oct 11 Javascript
javascript闭包的高级使用方法实例
Jul 04 Javascript
javascript动态控制服务器控件实例
Sep 05 Javascript
浅析js预加载/延迟加载
Sep 25 Javascript
js代码实现随机颜色的小方块
Jul 30 Javascript
node.js实现登录注册页面
Apr 08 Javascript
node.js操作mongodb简单示例分享
May 25 Javascript
简单实现JavaScript弹幕效果
Aug 27 Javascript
mpvue中配置vuex并持久化到本地Storage图文教程解析
Mar 15 Javascript
如何优雅的在一台vps(云主机)上面部署vue+mongodb+express项目
Jan 20 Javascript
vue 解决无法对未定义的值,空值或基元值设置反应属性报错问题
Jul 31 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
Zerg兵种介绍
2020/03/14 星际争霸
PHP strstr 函数判断字符串是否否存在的实例代码
2013/09/28 PHP
JavaScript中的Document文档对象
2008/01/16 Javascript
JavaScript confirm选择判断
2008/10/18 Javascript
javascript jscroll模拟html元素滚动条
2012/12/18 Javascript
jQuery调用AJAX时Get和post公用的乱码解决方法实例说明
2013/06/04 Javascript
node.js中的http.request.end方法使用说明
2014/12/10 Javascript
JQuery包裹DOM节点的方法
2015/06/11 Javascript
jQuery实现form表单基于ajax无刷新提交方法详解
2015/12/08 Javascript
用jquery快速解决IE输入框不能输入的问题
2016/10/04 Javascript
微信小程序 安全包括(框架、功能模块、账户使用)详解
2017/01/16 Javascript
JavaScript表单验证完美代码
2017/03/02 Javascript
关于webpack代码拆分的解析
2017/07/20 Javascript
详解nodeJs文件系统(fs)与流(stream)
2018/01/24 NodeJs
Node.js中package.json中库的版本号(~和^)
2019/04/02 Javascript
node.js中path路径模块的使用方法实例分析
2020/02/13 Javascript
vue中选中多个选项并且改变选中的样式的实例代码
2020/09/16 Javascript
Python open()文件处理使用介绍
2014/11/30 Python
Python中的descriptor描述器简明使用指南
2016/06/02 Python
python实现抠图给证件照换背景源码
2019/08/20 Python
Django生成PDF文档显示网页上以及PDF中文显示乱码的解决方法
2019/12/17 Python
pytorch实现mnist数据集的图像可视化及保存
2020/01/14 Python
Python常用库Numpy进行矩阵运算详解
2020/07/21 Python
canvas之万花筒效果的简单实现(推荐)
2016/08/16 HTML / CSS
webapp字号大小跟随系统字号大小缩放的示例代码
2018/12/26 HTML / CSS
Spartoo芬兰:欧洲最大的网上鞋店
2016/08/28 全球购物
澳大利亚厨房和家用电器购物网站:Bing Lee
2021/01/11 全球购物
美术教学感言
2014/02/22 职场文书
佛光寺导游词
2015/02/10 职场文书
安全生产警示教育活动总结
2015/05/09 职场文书
热血教师观后感
2015/06/10 职场文书
工资证明格式模板
2015/06/12 职场文书
趣味运动会加油词
2015/07/18 职场文书
广播稿:校园广播稿范文
2019/04/17 职场文书
Python OpenCV 图像平移的实现示例
2021/06/04 Python
react使用antd的上传组件实现文件表单一起提交功能(完整代码)
2021/06/29 Javascript