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实例教程(19) 使用HoTMetal(7)
Dec 23 Javascript
一些Javascript的IE和Firefox(火狐)兼容性的问题总结及常用例子
May 21 Javascript
jQuery 数据缓存data(name, value)详解及实现
Jan 04 Javascript
document.forms[].submit()使用介绍
Feb 19 Javascript
jQuery产品间断向下滚动效果核心代码
May 08 Javascript
Webpack 实现 AngularJS 的延迟加载
Mar 02 Javascript
bootstrap监听滚动实现头部跟随滚动
Nov 08 Javascript
bootstrap栅格系统示例代码分享
May 22 Javascript
vue按需引入element Transfer 穿梭框
Sep 30 Javascript
JavaScript实现的DOM树遍历方法详解【二叉DOM树、多叉DOM树】
May 07 Javascript
判断JavaScript中的两个变量是否相等的操作符
Dec 21 Javascript
ES6中new Function()语法及应用实例分析
Feb 19 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
php获取网页请求状态程序示例
2014/06/17 PHP
PHP字符串逆序排列实现方法小结【strrev函数,二分法,循环法,递归法】
2017/01/13 PHP
Web版彷 Visual Studio 2003 颜色选择器
2007/01/09 Javascript
document.open() 与 document.write()的区别
2007/08/13 Javascript
JS跨域问题详解
2014/11/25 Javascript
Javascript中关于Array.filter()的妙用详解
2016/12/04 Javascript
js鼠标跟随运动效果
2017/03/11 Javascript
基于axios封装fetch方法及调用实例
2018/02/05 Javascript
JavaScript实现简单动态进度条效果
2018/04/06 Javascript
微信小程序实现刷脸登录
2018/05/25 Javascript
详解可以用在VS Code中的正则表达式小技巧
2019/05/14 Javascript
JavaScript实现飞舞的泡泡效果
2020/02/07 Javascript
微信小程序中target和currentTarget的区别小结
2020/11/06 Javascript
vue 根据选择的月份动态展示日期对应的星期几
2021/02/06 Vue.js
python局域网ip扫描示例分享
2014/04/03 Python
在Python中测试访问同一数据的竞争条件的方法
2015/04/23 Python
Python2随机数列生成器简单实例
2017/09/04 Python
Python数据可视化编程通过Matplotlib创建散点图代码示例
2017/12/09 Python
Python编程二分法实现冒泡算法+快速排序代码示例
2018/01/15 Python
tensorflow实现简单的卷积网络
2018/05/24 Python
Python基于opencv调用摄像头获取个人图片的实现方法
2019/02/21 Python
Python中如何使用if语句处理列表实例代码
2019/02/24 Python
Gauss-Seidel迭代算法的Python实现详解
2019/06/29 Python
Python实现最大子序和的方法示例
2019/07/05 Python
Python实现的北京积分落户数据分析示例
2020/03/27 Python
如何用 Python 处理不平衡数据集
2021/01/04 Python
使用HTML5 Canvas绘制直线或折线等线条的方法讲解
2016/03/14 HTML / CSS
女方回门宴答谢词
2014/01/14 职场文书
初中军训感想300字
2014/03/05 职场文书
教师培训简讯
2015/07/20 职场文书
小学教师教学反思
2016/02/24 职场文书
mysql5.7使用binlog 恢复数据的方法
2021/06/03 MySQL
Spring Cache和EhCache实现缓存管理方式
2021/06/15 Java/Android
Vue3.0中Ref与Reactive的区别示例详析
2021/07/07 Vue.js
Python通过loop.run_in_executor执行同步代码 同步变为异步
2022/04/11 Python
浅谈为什么我的 z-index 又不生效了
2022/07/15 HTML / CSS