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 相关文章推荐
将string解析为json的几种方式小结
Nov 11 Javascript
JavaScript window.document的属性、方法和事件小结
Oct 24 Javascript
jquery.gridrotator实现响应式图片展示画廊效果
Jun 23 Javascript
jQuery实现图片文字淡入淡出效果
Dec 21 Javascript
js删除局部变量的实现方法
Jun 25 Javascript
vue中配置mint-ui报css错误问题的解决方法
Oct 11 Javascript
代码分析vue中如何配置less
Sep 28 Javascript
详解js获取video任意时间的画面截图
Apr 17 Javascript
如何使用proxy实现一个简单完整的MVVM库的示例代码
Sep 17 Javascript
浅探express路由和中间件的实现
Sep 30 Javascript
小程序外卖订单界面的示例代码
Dec 30 Javascript
Vue微信公众号网页分享的示例代码
May 28 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
神族 PROTOSS 概述
2020/03/14 星际争霸
php中截取中文字符串的代码小结
2011/07/17 PHP
php读取excel文件示例分享(更新修改excel)
2014/02/27 PHP
PHP5.6读写excel表格文件操作示例
2019/02/26 PHP
取得窗口大小 兼容所有浏览器的js代码
2011/08/09 Javascript
javascript 得到文件后缀名的思路及实现
2020/05/09 Javascript
javascript的数组和常用函数详解
2014/05/09 Javascript
JavaScript基于setTimeout实现计数的方法
2015/05/08 Javascript
基于Three.js插件制作360度全景图
2016/11/29 Javascript
Angular4学习笔记之实现绑定和分包
2017/08/01 Javascript
详解 vue.js用法和特性
2017/10/15 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
vue实现验证码按钮倒计时功能
2018/04/10 Javascript
详解angular脏检查原理及伪代码实现
2018/06/08 Javascript
vue-cli webpack配置文件分析
2019/05/20 Javascript
[01:52]DOTA2完美大师赛Vega战队趣味视频——kpii老师小课堂
2017/11/25 DOTA
[36:52]DOTA2真视界:基辅特锦赛总决赛
2017/05/21 DOTA
Python使用MD5加密字符串示例
2014/08/22 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
python+opencv实现动态物体追踪
2018/01/09 Python
selenium+python实现自动化登录的方法
2018/09/04 Python
Python ini文件常用操作方法解析
2020/04/26 Python
python代码区分大小写吗
2020/06/17 Python
python如何查看安装了的模块
2020/06/23 Python
Python3+Flask安装使用教程详解
2021/02/16 Python
浅析Python模块之间的相互引用问题
2021/02/26 Python
用html5的canvas画布绘制贝塞尔曲线完整代码
2013/08/14 HTML / CSS
Algenist奥杰尼官网:微藻抗衰老护肤品牌
2017/07/15 全球购物
Nordgreen台湾官网:极简北欧设计手表
2019/08/21 全球购物
自学考试自我鉴定范文
2013/09/26 职场文书
优秀员工评优方案
2014/06/13 职场文书
幸福家庭标语
2014/06/27 职场文书
教师优秀党员事迹材料
2014/08/14 职场文书
党员创先争优心得体会
2014/09/11 职场文书
三行辞职书范文
2015/02/26 职场文书
Mysql 设置boolean类型的操作
2021/06/04 MySQL