实例讲解JavaScript 计时事件


Posted in Javascript onJuly 04, 2020

JavaScript 计时事件

通过使用 JavaScript,我们有能力做到在一个设定的时间间隔之后来执行代码,而不是在函数被调用后立即执行。我们称之为计时事件。

在 JavaScritp 中使用计时事件是很容易的,两个关键方法是:

  • setInterval() - 间隔指定的毫秒数不停地执行指定的代码。
  • setTimeout() - 在指定的毫秒数后执行指定代码。

注意: setInterval() 和 setTimeout() 是 HTML DOM Window对象的两个方法。

setInterval() 方法

setInterval() 间隔指定的毫秒数不停地执行指定的代码

语法

window.setInterval("javascript function",milliseconds);

window.setInterval() 方法可以不使用 window 前缀,直接使用函数 setInterval()。

setInterval() 第一个参数是函数(function)。

第二个参数间隔的毫秒数

注意: 1000 毫秒是一秒。

setInterval(function(){alert("Hello")},3000);

效果如下:

实例讲解JavaScript 计时事件

实例展示了如何使用 setInterval() 方法,但是每三秒弹出一次对用户体验并不好。

以下实例将显示当前时间。 setInterval() 方法设置每秒钟执行一次代码,就是手表一样。

var myVar=setInterval(function(){myTimer()},1000);
 
function myTimer()
{
  var d=new Date();
  var t=d.toLocaleTimeString();
  document.getElementById("demo").innerHTML=t;
}

效果如下:

实例讲解JavaScript 计时事件

如何停止执行?

clearInterval() 方法用于停止 setInterval() 方法执行的函数代码。

语法

window.clearInterval(intervalVariable)

window.clearInterval() 方法可以不使用window前缀,直接使用函数clearInterval()。

要使用 clearInterval() 方法, 在创建计时方法时你必须使用全局变量:

myVar=setInterval("javascript function",milliseconds);

然后你可以使用 clearInterval() 方法来停止执行。

以下例子,我们添加了 "停止" 按钮:

<p id="demo"></p>
<button onclick="myStopFunction()">停止</button>
<script>
var myVar=setInterval(function(){myTimer()},1000);
function myTimer(){
  var d=new Date();
  var t=d.toLocaleTimeString();
  document.getElementById("demo").innerHTML=t;
}
function myStopFunction(){
  clearInterval(myVar);
}
</script>

效果如下:

实例讲解JavaScript 计时事件

setTimeout() 方法

语法

myVar= window.setTimeout("javascript function", milliseconds);

setTimeout() 方法会返回某个值。在上面的语句中,值被储存在名为 myVar 的变量中。假如你希望取消这个 setTimeout(),你可以使用这个变量名来指定它。

setTimeout() 的第一个参数是含有 JavaScript 语句的字符串。这个语句可能诸如 "alert('5 seconds!')",或者对函数的调用,诸如 alertMsg。

第二个参数指示从当前起多少毫秒后执行第一个参数。

提示:1000 毫秒等于一秒。

实例

等待3秒,然后弹出 "Hello":

setTimeout(function(){alert("Hello")},3000);

效果如下:

实例讲解JavaScript 计时事件

如何停止执行?

clearTimeout() 方法用于停止执行setTimeout()方法的函数代码。

语法

window.clearTimeout(timeoutVariable)

window.clearTimeout() 方法可以不使用window 前缀。

要使用clearTimeout() 方法, 你必须在创建超时方法中(setTimeout)使用全局变量:

myVar=setTimeout("javascript function",milliseconds);

如果函数还未被执行,你可以使用 clearTimeout() 方法来停止执行函数代码。

实例

以下是同一个实例, 但是添加了 "Stop the alert" 按钮:

var myVar;
 
function myFunction()
{
  myVar=setTimeout(function(){alert("Hello")},3000);
}
 
function myStopFunction()
{
  clearTimeout(myVar);
}

效果如下:

实例讲解JavaScript 计时事件

以上就是实例讲解JavaScript 计时事件的详细内容,更多关于JavaScript 计时事件的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
页面刷新时记住滚动条的位置jquery代码
Jun 17 Javascript
JS拖动鼠标画出方框实现鼠标选区的方法
Aug 05 Javascript
angularjs创建弹出框实现拖动效果
Aug 25 Javascript
seajs学习之模块的依赖加载及模块API的导出
Oct 20 Javascript
js简单实现网页换肤功能
Apr 07 Javascript
使用async、enterproxy控制并发数量的方法详解
Jan 02 Javascript
使用 vue.js 构建大型单页应用
Feb 10 Javascript
解决Vue中引入swiper,在数据渲染的时候,发生不滑动的问题
Sep 27 Javascript
vue2.0自定义指令示例代码详解
Apr 25 Javascript
详解如何写出一个利于扩展的vue路由配置
May 16 Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 Javascript
JavaScript实现缓动动画
Nov 25 Javascript
vue实现导航菜单和编辑文本的示例代码
Jul 04 #Javascript
详解Vue.js 响应接口
Jul 04 #Javascript
JavaScript中数组去重的5种方法
Jul 04 #Javascript
JS制作简易计算器的实例代码
Jul 04 #Javascript
基于原生js实现九宫格算法代码实例
Jul 03 #Javascript
JavaScript DOM常用操作代码汇总
Jul 03 #Javascript
JavaScript缺少insertAfter解决方案
Jul 03 #Javascript
You might like
Codeigniter上传图片出现“You did not select a file to upload”错误解决办法
2014/06/12 PHP
PHP实现路由映射到指定控制器
2016/08/13 PHP
php 7新特性之类型申明详解
2017/06/06 PHP
Ext第一周 史上最强学习笔记---GridPanel(基础篇)
2008/12/29 Javascript
小型js框架veryide.librar源代码
2009/03/05 Javascript
深入理解JavaScript定时机制
2010/10/29 Javascript
有关于JS辅助函数inherit()的问题
2013/04/07 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
基于JavaScript FileReader上传图片显示本地链接
2016/05/27 Javascript
nodejs加密Crypto的实例代码
2016/07/07 NodeJs
正则表达式替换html元素属性的方法
2016/11/26 Javascript
详解如何用webpack打包一个网站应用项目
2017/07/12 Javascript
Makefile/cmake/node-gyp中区分判断不同平台的方法
2018/12/18 Javascript
JS实现的对象去重功能示例
2019/06/04 Javascript
TypeScript中使用getElementXXX()的示例代码
2019/09/12 Javascript
原理深度解析Vue的响应式更新比React快
2020/04/04 Javascript
[33:19]完美世界DOTA2联赛PWL S2 PXG vs InkIce 第一场 11.26
2020/11/30 DOTA
基于anaconda下强大的conda命令介绍
2018/06/11 Python
python迭代dict的key和value的方法
2018/07/06 Python
Python中的asyncio代码详解
2019/06/10 Python
Python画图高斯分布的示例
2019/07/10 Python
解决django服务器重启端口被占用的问题
2019/07/26 Python
详解Python 字符串相似性的几种度量方法
2019/08/29 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python 实现图片修复(可用于去水印)
2020/11/19 Python
先进班级集体事迹材料
2014/01/30 职场文书
物流业务员岗位职责
2014/02/08 职场文书
弘扬民族精神演讲稿
2014/05/07 职场文书
大学生个人求职信
2014/06/02 职场文书
护士实习求职信
2014/06/22 职场文书
2014领导干部学习焦裕禄同志先进事迹思想汇报
2014/09/19 职场文书
胡雪岩故居导游词
2015/02/06 职场文书
年度考核个人总结
2015/03/06 职场文书
陪护人员误工证明
2015/06/24 职场文书
工作态度怎么写
2015/06/25 职场文书
神州牡丹园的导游词
2019/11/20 职场文书