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 相关文章推荐
非主流的textarea自增长实现js代码
Dec 20 Javascript
jquery实现类似淘宝星星评分功能有截图
Sep 15 Javascript
Node.js中使用Log.io在浏览器中实时监控日志(等同tail -f命令)
Sep 17 Javascript
jQuery对于显示和隐藏等常用状态的判断方法
Dec 13 Javascript
浅谈JavaScript中的对象及Promise对象的实现
Nov 15 Javascript
JavaScript代码因逗号不规范导致IE不兼容的问题
Feb 25 Javascript
js实现页面跳转的五种方法推荐
Mar 10 Javascript
Spring MVC中Ajax实现二级联动的简单实例
Jul 06 Javascript
12306 刷票脚本及稳固刷票脚本(防挂)
Jan 04 Javascript
Vue.js自定义指令的用法与实例解析
Jan 18 Javascript
解决angularjs中同步执行http请求的方法
Aug 13 Javascript
基于layui数据表格以及传数据的方式
Aug 19 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 discuz 主题表和回帖表的设计
2009/03/13 PHP
php数组函数序列 之array_count_values() 统计数组中所有值出现的次数函数
2011/10/29 PHP
浅谈PHP检查数组中是否存在某个值 in_array 函数
2016/06/13 PHP
YII2 实现多语言配置的方法分享
2017/01/11 PHP
一个用js实现的页内搜索代码
2007/05/23 Javascript
javascript 面向对象 function类
2010/05/13 Javascript
jquery isType() 类型判断代码
2011/02/14 Javascript
jquery中ajax学习笔记一
2011/10/16 Javascript
根据当前时间在jsp页面上显示上午或下午
2014/08/18 Javascript
jQuery中:has选择器用法实例
2014/12/30 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
微信小程序 轮播图swiper详解及实例(源码下载)
2017/01/11 Javascript
JS判断键盘是否按的回车键并触发指定按钮点击操作的方法
2017/02/13 Javascript
浅谈Vue.js
2017/03/02 Javascript
微信小程序 实现点击添加移除class
2017/06/12 Javascript
vue监听scroll的坑的解决方法
2017/09/07 Javascript
简单实现jQuery弹窗效果
2017/10/30 jQuery
iview日期控件,双向绑定日期格式的方法
2018/03/15 Javascript
node.js调用C++函数的方法示例
2018/09/21 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
详解使用React制作一个模态框
2019/03/14 Javascript
Python常见加密模块用法分析【MD5,sha,crypt模块】
2017/05/24 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
python 集合 并集、交集 Series list set 转换的实例
2018/05/29 Python
python 简单照相机调用系统摄像头实现方法 pygame
2018/08/03 Python
Django路由层URLconf作用及原理解析
2020/09/24 Python
欧缇丽加拿大官方网站:Caudalie加拿大
2019/07/18 全球购物
市场营销专科应届生求职信
2013/11/24 职场文书
三方合作协议书范本
2014/04/18 职场文书
幼儿园教师演讲稿
2014/05/06 职场文书
离婚协议书范本样本
2014/08/19 职场文书
2014离婚协议书范文
2014/09/10 职场文书
入党函调证明材料
2015/06/19 职场文书
SONY AN-LP1 短波有源天线放大器
2021/04/22 无线电
苹果电脑mac os中货币符号快捷输入
2022/02/17 杂记