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 相关文章推荐
JS刷新当前页面的几种方法总结
Dec 24 Javascript
jquery自动切换tabs选项卡的具体实现
Dec 24 Javascript
setTimeout()递归调用不加引号出错的解决方法
Sep 05 Javascript
javascript实现动态模态绑定grid过程代码
Sep 22 Javascript
js点击button按钮跳转到另一个新页面
Oct 10 Javascript
jQuery简单实现隐藏以及显示特效
Feb 26 Javascript
javascript中scrollTop详解
Apr 13 Javascript
JavaScript数组迭代器实例分析
Jun 09 Javascript
jQuery+css实现炫目的动态块漂移效果
Jan 28 Javascript
js中变量的连续赋值(实例讲解)
Jul 08 Javascript
vue 实现 ios 原生picker 效果及实现思路解析
Dec 06 Javascript
JavaScript遍历数组和对象的元素简单操作示例
Jul 09 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
全国FM电台频率大全 - 16 河南省
2020/03/11 无线电
php版微信开发之接收消息,自动判断及回复相应消息的方法
2016/09/23 PHP
php nginx 实时输出的简单实现方法
2018/01/21 PHP
Laravel框架在本地虚拟机快速安装的方法详解
2018/06/11 PHP
PHP中isset、empty的用法与区别示例详解
2020/11/05 PHP
JQuery 动态扩展对象之另类视角
2010/05/25 Javascript
JS分页控件 可用于无刷新分页
2013/07/23 Javascript
js传中文参数controller里获取参数乱码问题解决方法
2014/01/03 Javascript
解决jQuery使用JSONP时产生的错误
2015/12/02 Javascript
浅谈jQuery animate easing的具体使用方法(推荐)
2016/06/17 Javascript
微信小程序 支付功能实现PHP实例详解
2017/05/12 Javascript
JS实现仿饿了么在浏览器标签页失去焦点时网页Title改变
2017/06/01 Javascript
JS实现闭包中的沙箱模式示例
2017/09/07 Javascript
vue 中滚动条始终定位在底部的方法
2018/09/03 Javascript
解决angular2在双向数据绑定时[(ngModel)]无法使用的问题
2018/09/13 Javascript
基于vue开发微信小程序mpvue-docs跳转页面功能
2019/04/10 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
layui 富文本编辑器和textarea值的相互传递方法
2019/09/18 Javascript
vue 开发企业微信整合案例分析
2019/12/02 Javascript
webpack的 rquire.context用法实现工程自动化的方法
2020/02/07 Javascript
react-native 实现购物车滑动删除效果的示例代码
2021/01/15 Javascript
python网页请求urllib2模块简单封装代码
2014/02/07 Python
python从入门到精通(DAY 3)
2015/12/20 Python
python+matplotlib绘制饼图散点图实例代码
2018/01/20 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
python 监控logcat关键字功能
2020/09/04 Python
python 绘制国旗的示例
2020/09/27 Python
捷克家具销售网站:SCONTO Nábytek
2020/01/02 全球购物
求网格中的黑点分布
2013/11/06 面试题
常用UNIX 命令(Linux的常用命令)
2013/07/10 面试题
法人授权委托书
2014/04/03 职场文书
商场促销活动总结
2014/07/10 职场文书
中标通知书
2015/04/17 职场文书
离婚起诉书范文2016
2015/11/26 职场文书
Vue如何实现组件间通信
2021/05/15 Vue.js
SQL实现LeetCode(180.连续的数字)
2021/08/04 MySQL