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 字符 Escape,encodeURI,encodeURIComponent
Jul 09 Javascript
JavaScript动态调整TextArea高度的代码
Dec 28 Javascript
使用Jquery实现点击文字后变成文本框且可修改
Sep 21 Javascript
node.js下when.js 的异步编程实践
Dec 03 Javascript
TypeScript 学习笔记之基本类型
Jun 19 Javascript
基于jquery实现最简单的选项卡切换效果
May 08 Javascript
vue.js todolist实现代码
Oct 29 Javascript
JS实现的视频弹幕效果示例
Aug 17 Javascript
vue使用axios上传文件(FormData)的方法
Apr 14 Javascript
Vue过渡效果之CSS过渡详解(结合transition,animation,animate.css)
Feb 05 Javascript
jQuery实现飞机大战小游戏
Jul 05 jQuery
基于p5.js 2D图像接口的扩展(交互实现)
Nov 30 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,ajax实现分页
2008/03/27 PHP
编写安全 PHP应用程序的七个习惯深入分析
2013/06/08 PHP
详解Yaf框架PHPUnit集成测试方法
2017/12/27 PHP
CSS3,HTML5和jQuery搜索框集锦
2014/12/02 Javascript
JavaScript使用setTimeout实现延迟弹出警告框的方法
2015/04/07 Javascript
超链接怎么正确调用javascript函数
2016/05/23 Javascript
jQuery Ajax请求后台数据并在前台接收
2016/12/10 Javascript
BootStrapTable服务器分页实例解析
2016/12/20 Javascript
JS实现的模仿QQ头像资料卡显示与隐藏效果
2017/04/07 Javascript
浅谈mvvm-simple双向绑定简单实现
2018/04/18 Javascript
jQuery实现轮播图及其原理详解
2020/04/12 jQuery
Python 变量类型及命名规则介绍
2013/06/08 Python
linux系统使用python获取内存使用信息脚本分享
2014/01/15 Python
使用python调用浏览器并打开一个网址的例子
2014/06/05 Python
python获取Linux下文件版本信息、公司名和产品名的方法
2014/10/05 Python
详解python发送各类邮件的主要方法
2016/12/22 Python
Python输入二维数组方法
2018/04/13 Python
Linux系统下升级pip的完整步骤
2021/01/31 Python
使用HTML5的File实现base64和图片的互转
2013/08/01 HTML / CSS
一级方程式赛车官方网上商店:F1 Store(支持中文)
2018/01/12 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
天游软件面试
2013/11/23 面试题
上海微创软件面试题
2012/06/14 面试题
上海雨人软件技术开发有限公司测试题
2015/07/14 面试题
Java Servlet的主要功能和作用是什么
2014/02/14 面试题
会计学财务管理专业个人的自我评价
2013/10/19 职场文书
运动会方阵解说词
2014/02/12 职场文书
行政部工作岗位职责范本
2014/03/05 职场文书
战友聚会主持词
2014/04/02 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
人代会简报
2015/07/21 职场文书
小学班主任培训心得体会
2016/01/07 职场文书
大学生创业,为什么都会选择快餐饮?
2019/08/08 职场文书
《最后一头战象》读后感:动物也有感情
2020/01/02 职场文书
使用springboot暴露oracle数据接口的问题
2021/05/07 Oracle
Golang中channel的原理解读(推荐)
2021/10/16 Golang