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 相关文章推荐
[原创]网络复制内容时常用的正则+editplus
Nov 30 Javascript
Ext javascript建立超链接,进行事件处理的实现方法
Mar 22 Javascript
在js文件中写el表达式取不到值的原因及解决方法
Dec 23 Javascript
jquery中$.post()方法的简单实例
Feb 04 Javascript
jquery模拟进度条实现方法
Aug 03 Javascript
jquery把int类型转换成字符串类型的方法
Oct 07 Javascript
HTML5 JS压缩图片并获取图片BASE64编码上传
Nov 16 Javascript
微信小程序使用checkbox显示多项选择框功能【附源码下载】
Dec 11 Javascript
AngularJS基于MVC的复杂操作实例讲解
Dec 31 Javascript
Windows下支持自动更新的Electron应用脚手架的方法
Dec 24 Javascript
JavaScript基于遍历操作实现对象深拷贝功能示例
Mar 05 Javascript
js中!和!!的区别与用法
May 09 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 set_time_limit(0) 设置程序执行时间的函数
2010/05/26 PHP
PHP过滤黑名单关键字的方法
2014/12/01 PHP
CI框架数据库查询缓存优化的方法
2016/11/21 PHP
php实现的pdo公共类定义与用法示例
2017/07/19 PHP
PHP实现的ID混淆算法类与用法示例
2018/08/10 PHP
为javascript添加String.Format方法
2020/08/11 Javascript
JQuery入门—JQuery程序的代码风格详细介绍
2013/01/03 Javascript
js实现简单的星级选择器提交效果适用于评论等
2013/10/18 Javascript
JS+JSP checkBox 全选具体实现
2014/01/02 Javascript
教你如何使用firebug调试功能了解javascript闭包和this
2015/03/04 Javascript
遮罩层点击按钮弹出并且具有拖动和关闭效果(两种方法)
2015/08/20 Javascript
详谈javascript异步编程
2016/02/21 Javascript
JS提示:Uncaught SyntaxError:Unexpected token ) 错误的解决方法
2016/08/19 Javascript
JS中touchstart事件与click事件冲突的解决方法
2018/03/12 Javascript
vue 组件中slot插口的具体用法
2018/04/03 Javascript
vue使用原生swiper代码实例
2020/02/05 Javascript
解决angular 使用原生拖拽页面卡顿及表单控件输入延迟问题
2020/04/21 Javascript
原生js 实现表单验证功能
2021/02/08 Javascript
Python MySQLdb模块连接操作mysql数据库实例
2015/04/08 Python
Python-OpenCV基本操作方法详解
2018/04/02 Python
Python数据可视化教程之Matplotlib实现各种图表实例
2019/01/13 Python
Python元组常见操作示例
2019/02/19 Python
python 中的[:-1]和[::-1]的具体使用
2020/02/13 Python
selenium设置浏览器为headless无头模式(Chrome和Firefox)
2021/01/08 Python
纯CSS3实现移动端展开和收起效果的示例代码
2020/04/26 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
定义一结构体数组表示分数,并求两个分数相加之和
2013/06/11 面试题
毕业生物理教师求职信
2013/10/17 职场文书
迟到检讨书1000字
2014/01/15 职场文书
人力资源管理专业求职信
2014/07/23 职场文书
2014年初级职称工作总结
2014/12/08 职场文书
2015年元旦主持词结束语
2014/12/14 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
工作态度怎么写
2015/06/25 职场文书
《社戏》教学反思
2016/02/22 职场文书
动态规划之使用备忘录来改进Javascript函数
2022/04/07 Javascript