JavaScript定时器设置、使用与倒计时案例详解


Posted in Javascript onJuly 08, 2019

本文实例讲述了JavaScript定时器设置、使用与倒计时案例。分享给大家供大家参考,具体如下:

1、设置定时器

定时器,适用于定时执行的任务中。在BOM的window对象中,有这样的两个函数是用于设置定时器

setTimeout(function,delay);//设置延时多少毫秒执行该函数,只执行一次,返回值是一个id
setInterval(function,delay);//设置间隔多少毫米一直执行该函数,执行多次,返回值是一个id

两者的区别就在于setTimeout方式只执行一次,而setInterval理论可以执行无数次,直到其被取消。

2、取消定时器

上面说过,在开启定时器会返回一个id,这个id是用来区别开启的多个定时器。当我们要取消定时器时,可以使用一下这两个方法。

clearTimeout(id);//取消由setTimeout方式开启的定时器
clearInterval(id);//取消由setInterval方式开启的定时器

3、循环调用setTimeout

在使用中,可以用setTimeout方式来实现setInterval的效果,其实这个让我想起了当初学Android是的Handler机制,发一个延时消息,然后在内容中再发出消息。例如:

<script>
  var t = 1;
  function time(){
    console.log(t++);
    window.setTimeout('time()',1000);
  }
  window.setTimeout('time()',1000);
</script>

4、倒计时案例

在页面上有一个按钮,显示的是倒计时的数字,每隔一秒修改数字,等到0秒时,就切换爆炸图片。

效果图

JavaScript定时器设置、使用与倒计时案例详解
JavaScript定时器设置、使用与倒计时案例详解

代码

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <title></title>
  <link rel="stylesheet" href="">
</head>
<body>
  <h1>炸弹效果</h1>
  <input type="button" value="5" /><br/>
  <img src="warn.jpg"/>
</body>
<script>
  //定时执行
  function time(){
    var input = document.getElementsByTagName('input')[0];//获取按钮中的数字
    var time = parseInt(input.value) - 1;
    input.value = time;
    //爆炸操作
    if(time <= 0){
      var img = document.getElementsByTagName('img')[0];
      img.src = 'boom.jpg';//切换爆照图片
      clearInterval(t1);//清除定时器
    }
  }
  var t1 = window.setInterval('time()',1000);//开启定时器
</script>
</html>

思路

其实这个例子挺简单的,首先以每隔1秒开启定时器,在定时执行函数中每次获取当前倒计时的数字,然后进行减1操作,最后又赋值到按钮中,当数字小于或等于0秒时,就切换爆炸图片已达到爆炸效果,此时不要忘记取消定时器了。

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
javascript取消文本选定的实现代码
Nov 14 Javascript
基于jquery的横向滚动条(滑动条)
Feb 24 Javascript
js控制滚动条缓慢滚动到顶部实现代码
Mar 20 Javascript
window.location.reload()方法刷新页面弹出要再次显示该网页对话框
Apr 24 Javascript
jQuery实现的多级下拉菜单效果代码
Aug 24 Javascript
jQuery获取父元素节点、子元素节点及兄弟元素节点的方法
Apr 14 Javascript
Bootstrap CSS布局之表单
Dec 17 Javascript
jQuery+pjax简单示例汇总
Apr 21 jQuery
VUE v-for循环中每个item节点动态绑定不同函数的实例
Sep 26 Javascript
微信小程序实现页面下拉刷新和上拉加载功能详解
Dec 03 Javascript
简单了解vue中的v-if和v-show的区别
Oct 08 Javascript
Element Alert警告的具体使用方法
Jul 27 Javascript
Vue实现拖放排序功能的实例代码
Jul 08 #Javascript
JavaScript中Dom操作实例详解
Jul 08 #Javascript
JavaScript实现五子棋游戏的方法详解
Jul 08 #Javascript
ES6 Class中实现私有属性的一些方法总结
Jul 08 #Javascript
ElementUI Tag组件实现多标签生成的方法示例
Jul 08 #Javascript
利用不到200行代码写一款属于你自己的js类库
Jul 08 #Javascript
Vue中util的工具函数实例详解
Jul 08 #Javascript
You might like
php下用GD生成生成缩略图的两个选择和区别
2007/04/17 PHP
深入PHP变量存储的详解
2013/06/13 PHP
php根据指定位置和长度获得子字符串的方法
2015/03/17 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
PHP使用两个栈实现队列功能的方法
2018/01/15 PHP
YII框架页面缓存操作示例
2019/04/29 PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
2019/05/06 PHP
js 强制弹出窗口代码研究-又一款代码
2010/03/20 Javascript
JQuery扩展插件Validate 1 基本使用方法并打包下载
2011/09/05 Javascript
jQuery(非HTML5)可编辑表格实现代码
2012/12/11 Javascript
jquery实现的一个文章自定义分段显示功能
2014/05/23 Javascript
javascript中Array()数组函数详解
2015/08/23 Javascript
基于Bootstrap使用jQuery实现简单可编辑表格
2016/05/04 Javascript
AngularJS API之copy深拷贝详解及实例
2016/09/14 Javascript
基于 webpack2 实现的多入口项目脚手架详解
2017/06/26 Javascript
React Native react-navigation 导航使用详解
2017/12/01 Javascript
JS中使用textPath实现线条上的文字
2017/12/25 Javascript
手写Node静态资源服务器的实现方法
2018/03/20 Javascript
JS实现Cookie读、写、删除操作工具类示例
2018/08/28 Javascript
webpack+vue.js构建前端工程化的详细教程
2020/05/10 Javascript
Vue3 响应式侦听与计算的实现
2020/11/11 Javascript
python动态参数用法实例分析
2015/05/25 Python
Python实现的建造者模式示例
2018/08/06 Python
Python实现中值滤波去噪方式
2019/12/18 Python
python3格式化字符串 f-string的高级用法(推荐)
2020/03/04 Python
Python常用扩展插件使用教程解析
2020/11/02 Python
socket.io 和canvas 实现的共享画板功能
2019/05/22 HTML / CSS
使用canvas对多图片拼合并导出图片的方法
2018/08/28 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
荣耀俄罗斯官网:HONOR俄罗斯
2020/10/31 全球购物
毕业生的自我鉴定
2013/10/29 职场文书
狮子林导游词
2015/02/03 职场文书
2015驻村干部工作总结
2015/04/07 职场文书
教师创先争优承诺书
2015/04/27 职场文书
小学生暑假生活总结
2015/07/13 职场文书
Python实战之疫苗研发情况可视化
2021/05/18 Python