实例讲解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 相关文章推荐
用javascript自动显示最后更新时间
Mar 15 Javascript
JavaScript中为元素加上name属性的方法
May 09 Javascript
JS获取页面窗口大小的代码解读
Dec 01 Javascript
Json和Jsonp理论实例代码详解
Nov 15 Javascript
window.location.href IE下跳转失效的解决方法
Mar 27 Javascript
JS组件Bootstrap实现弹出框和提示框效果代码
Dec 08 Javascript
javascript过滤数组重复元素的实现方法
May 03 Javascript
jquery实现放大镜简洁代码(推荐)
Jun 08 jQuery
JS实现加载时锁定HTML页面元素的方法
Jun 24 Javascript
JavaScript模拟实现自由落体效果
Aug 28 Javascript
详解Vue.js自定义tipOnce指令用法实例
Dec 19 Javascript
ES6 Promise对象概念及用法实例详解
Oct 15 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
php中explode与split的区别介绍
2012/10/03 PHP
详解laravel安装使用Passport(Api认证)
2018/07/27 PHP
ThinkPHP 5.1 跨域配置方法
2019/10/11 PHP
PHP 8新特性简介
2020/08/18 PHP
Node.js实战 建立简单的Web服务器
2012/03/08 Javascript
通过上下左右键和回车键切换光标实现代码
2013/03/08 Javascript
jquery.post用法之type设置问题
2014/02/24 Javascript
Ajax请求在数据量大的时候出现超时的解决方法
2014/02/27 Javascript
js中confirm实现执行操作前弹出确认框的方法
2014/11/01 Javascript
node.js中的url.parse方法使用说明
2014/12/10 Javascript
jQuery下拉友情链接美化效果代码分享
2015/08/26 Javascript
jQuery链式操作实例分析
2015/11/16 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
2016/06/01 Javascript
js前端实现多图图片上传预览的两个方法(推荐)
2016/11/18 Javascript
详解es6超好用的语法糖Decorator
2018/08/01 Javascript
jQuery操作动画完整实例分析
2020/01/10 jQuery
Vue看了就会的8个小技巧
2021/01/21 Vue.js
[03:18]DOTA2放量测试专访820:希望玩家加入国服大家庭
2013/08/25 DOTA
python实现获取Ip归属地等信息
2016/08/27 Python
对python调用RPC接口的实例详解
2019/01/03 Python
python使用paramiko模块通过ssh2协议对交换机进行配置的方法
2019/07/25 Python
如何在Django配置文件里配置session链接
2019/08/06 Python
Python代码实现http/https代理服务器的脚本
2019/08/12 Python
Python使用微信itchat接口实现查看自己微信的信息功能详解
2019/08/22 Python
Python响应对象text属性乱码解决方案
2020/03/31 Python
如何用 Python 制作 GitHub 消息助手
2021/02/20 Python
20世纪40年代连衣裙和复古服装:The Seamstress Of Bloomsbury
2018/07/24 全球购物
英国在线药房:Chemist.co.uk
2019/03/26 全球购物
初中新生军训方案
2014/05/13 职场文书
2014年党员承诺书范文
2014/05/20 职场文书
阿凡达观后感
2015/06/10 职场文书
2016年秋季运动会广播稿
2015/12/21 职场文书
《家世》读后感:看家训的力量
2019/12/30 职场文书
MySQL注入基础练习
2021/05/30 MySQL
OpenCV-Python 实现两张图片自动拼接成全景图
2021/06/11 Python