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 相关文章推荐
jQuery使用手册之三 CSS操作
Mar 24 Javascript
JavaScript表单常用验证集合
Jan 16 Javascript
js 页面刷新location.reload和location.replace的区别小结
Dec 24 Javascript
HTML页面弹出居中可拖拽的自定义窗口层
May 07 Javascript
JavaScript学习笔记之数组求和方法
Mar 23 Javascript
JAVA Web实时消息后台服务器推送技术---GoEasy
Nov 04 Javascript
快速将Vue项目升级到webpack3的方法步骤
Sep 14 Javascript
解决vue2.0动态绑定图片src属性值初始化时报错的问题
Mar 14 Javascript
webpack打包react项目的实现方法
Jun 21 Javascript
JS在if中的强制类型转换方式
Jul 15 Javascript
JS实现图片切换特效
Dec 23 Javascript
JavaScript实现简易计算器小功能
Oct 22 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
yii使用activeFileField控件实现上传文件与图片的方法
2015/12/28 PHP
php实现xml与json之间的相互转换功能实例
2016/07/07 PHP
javascript(jquery)利用函数修改全局变量的代码
2009/11/02 Javascript
javascript 函数速查表
2010/02/07 Javascript
js 刷新页面的代码小结 推荐
2010/04/02 Javascript
基于JQuery的6个Tab选项卡插件
2010/09/03 Javascript
javascript tips提示框组件实现代码
2010/11/19 Javascript
深入理解JavaScript系列(30):设计模式之外观模式详解
2015/03/03 Javascript
JavaScript判断变量是否为数组的方法(Array)
2016/02/24 Javascript
js浏览器html5表单验证
2016/10/17 Javascript
几种tab切换详解
2017/02/03 Javascript
JS对象序列化成json数据和json数据转化为JS对象的代码
2017/08/23 Javascript
微信小程序tabBar模板用法实例分析【附demo源码下载】
2017/11/28 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
浅谈jquery fullpage 插件增加头部和版权的方法
2018/03/20 jQuery
JavaScript基于数组实现的栈与队列操作示例
2018/12/22 Javascript
Bootstrap4 gulp 配置详解
2019/01/06 Javascript
TypeScript的安装、使用、自动编译的实现
2020/04/10 Javascript
JavaScript 双向链表操作实例分析【创建、增加、查找、删除等】
2020/04/28 Javascript
python通过tcp发送xml报文的方法
2018/12/28 Python
简单了解python字符串前面加r,u的含义
2019/12/26 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
森海塞尔美国官网:Sennheiser耳机与耳麦
2017/07/19 全球购物
美国知名生活购物网站:Goop
2017/11/03 全球购物
司机的工作范围及职责
2013/11/13 职场文书
我的五年职业生涯规划
2014/01/23 职场文书
商务日语专业毕业生自荐信
2014/03/27 职场文书
高考励志标语
2014/06/05 职场文书
爱与责任师德演讲稿
2014/08/26 职场文书
2014年教师节讲话稿5篇
2014/09/10 职场文书
2014年小学教学工作总结
2014/11/13 职场文书
大队委员竞选演讲稿
2015/11/20 职场文书
2016秋季幼儿园开学寄语
2015/12/03 职场文书
初中美术教学反思
2016/02/17 职场文书
AJAX学习笔记
2021/05/18 Javascript
SQL实战演练之网上商城数据库商品类别数据操作
2021/10/24 MySQL