JavaScript 之 定时器
JavaScript 里面有两个定时器:setTimeout() 和 setInterval() 。
区别:
setTimeout():相当于一个定时炸弹,隔一段时间执行,并且只会执行一次就不在执行了。
setInterval(): 相当于一个闹钟,隔一段时间执行,并且会重复执行。
一、setTimeout()
1、设置定时器(倒计时)
语法格式:
setTimeout(function() {},时间);
这个函数需要两个参数:
第一个参数是到时间后需要执行的函数,可以是匿名函数,也可以是命名函数;
第二个参数是时间间隔,单位为毫秒(ms)。
Demo:
btn.onclick = function() {
setTimeout(function(){
alert("hello world");
},3000);
}
当点击按钮3秒后,页面弹出 “hello world” 的对话框。
2、取消定时器(倒计时)
语法格式:
var timerId = setTimeout(function(){}, 时间间隔);
clearTimeout(timerId);
声明定时器时会有一个返回值,是一个整数,即当前这个定时器的 标识。
在执行 clearTimeout() 这个函数时,在里面传入对应的 定时器的标识 即可取消当前的定时器。
二、setInterval()
1、设置定时器
语法格式:
setInterval(function(){},时间间隔);
这个函数需要两个参数:
第一个参数是到时间后需要执行的函数,可以是匿名函数,也可以是命名函数;
第二个参数是时间间隔,单位为毫秒(ms)。
2、取消定时器
语法格式:
var timerId = setInterval(function(){}, 时间间隔);
clearInterval(timerId);
声明定时器时会有一个返回值,是一个整数,即当前这个定时器的 标识。
在执行 clearTimeout() 这个函数时,在里面传入对应的 定时器的标识 即可取消当前的定时器。
Demo:距离2019年11月11日倒计时
// 结构
<h1 class="title">距离光棍节,还有</h1> <div class="time-item">
<span><span id="day">00</span>天</span>
<strong><span id="hour">00</span>时</strong>
<strong><span id="minute">00</span>分</strong>
<strong><span id="second">00</span>秒</strong>
</div> <script>
// 目标时间
var endDate = new Date('2019-11-11 0:0:0');
// 获取 span
var spanDay = document.getElementById('day');
var spanHour = document.getElementById('hour');
var spanMinute = document.getElementById('minute');
var spanSecond = document.getElementById('second'); countdown();
setInterval(countdown, 1000); // 倒计时
function countdown() { // 计算时间差
// 当前时间
var startDate = new Date();
// 计算两个日期差
var interval = getInterval(startDate, endDate); setInnerText(spanDay, interval.day);
setInnerText(spanHour, interval.hour);
setInnerText(spanMinute, interval.minute);
setInnerText(spanSecond, interval.second); } // 获取两个日期的时间差
function getInterval(start, end) {
// 两个日期对象,相差的毫秒数
var interval = end - start;
// 求 相差的天数/小时数/分钟数/秒数
var day, hour, minute, second; // 两个日期对象,相差的秒数
// interval = interval / 1000;
interval /= 1000; day = Math.round(interval / 60 / 60 / 24);
hour = Math.round(interval / 60 / 60 % 24);
minute = Math.round(interval / 60 % 60);
second = Math.round(interval % 60); return {
day: day,
hour: hour,
minute: minute,
second: second
}
} </script>
JavaScript 之 定时器的更多相关文章
- JavaScript中定时器的暂停和继续
对于JavaScript的定时器来说没有严格意义上的暂停和重启,只有清除停止,但是可以通过一些‘障眼法’实现 allChild[index].onclick = function(){//当点击目标且 ...
- day27—JavaScript实现定时器及其应用案例
转行学开发,代码100天——2018-04-12 JavaScript中定时器有两种,分别是setInterval和setTimeout;其用法如下: 开启: setTimeout("fun ...
- Javascript中定时器的使用方法
Javascript中定时器的使用方法 1.间隔定时器(每隔一段时间执行一次代码) 格式:setInterval(函数,时间) //时间单位是毫秒,每隔设置的时间执行函数里的内容一遍(一直执行) // ...
- JavaScript中定时器
JavaScript提供定时执行代码的功能,叫做定时器(timer),主要由setTimeout()和setInterval()这两个函数来完成.它们向任务队列添加定时任务. setTimeout() ...
- 理解JavaScript的定时器与回调机制
定时器方法 JavaScript是单线程的.虽然HTML5已经开始支持异步js了. JavaScript的setTimeout与setInterval看起来就像已经是多线程的了.但实际上setTime ...
- JavaScript基础 -- 定时器
js 定时器有以下两个方法: setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式.方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭. set ...
- JavaScript的定时器是如何工作的
理解JavaScript定时器工作原理对于学习JavaScript非常重要.因为JavaScript是单线程运行的,定时器使用场合少,不是很直观.下面通过三个函数来学习JavaScript如何定义,操 ...
- JavaScript clearInterval定时器失效原因
检查下是不是setInterval重复执行(两次以上<!-- 文件上传板块 --> <div id="adUploadWindow" class="ea ...
- 【javascript】定时器组件
'use strict'; module.exports = function() { this.timer = {}; this.config = {}; // 初始化参数 this.init = ...
随机推荐
- [KCOJ20170214]又一个背包
题目描述 Description 小W要去军训了!由于军训基地是封闭的,小W在军训期间将无法离开军训基地.所以他没有办法出去买他最爱吃的零食.万般无奈的小W只好事先买好他爱吃的零食,装在背包里带入军训 ...
- 机器学习-MNIST数据集-神经网络
#设置随机种子 seed = 7 numpy.random.seed(seed) #加载数据 (X_train,y_train),(X_test,y_test) = mnist.load_data() ...
- Windbg Watch(监视)窗口的使用
在WinDbg中,可以使用“监视”窗口显示和更改全局和局部变量和寄存器信息. 您可以自定义此窗口以显示您正在跟踪的项..“监视”窗口可以显示所需的任何变量列表.这些变量可以包括来自任何函数的全局变量和 ...
- django认证系统-user对象(创建,改密,认证)
User对象 User对象是认证系统的核心.它们通常表示与你的站点进行交互的用户,并用于启用限制访问.注册用户信息和关联内容给创建者等.在Django的认证框架中只存在一种类型的用户,因此诸如'sup ...
- 无旋treap大法好
无旋Treap大法好 原理? 是一棵二叉查找树: 一个节点左子树权值都比他小,右子树权值都比他大 所以可以维护序列(以位置为权值),或数值(以数值为权值) 是一个堆: 每个节点除了上述提到的权值外,还 ...
- cocos:C++ 导出到lua, cocos2dx_extension.ini修改
cocos:C++ 导出到lua, cocos2dx_extension.ini修改 [zq] //zq section, 需要和genbindings.py中的配置相同 # the prefix t ...
- 何为pc值
PC就是程序计数器,就是指挥程序从哪里执行.如果是8位机,每个存储单元存放一个字节,指令有单字节.双字节和3字节.单片机复位时,PC=0000H,而后每执行一条指令,PC根据指令的字节数增加,如图:最 ...
- Spring Security教程之Jsp标签(八)
目录 1.1 authorize 1.2 authentication 1.3 accesscontrollist Spring Security也有对Jsp标签的支持的标签库 ...
- spring boot 从开发到上线(三)—AOP 异常监控、上报
在做这个项目的期间,看到一篇很有启发性的文章<程序员你为什么这么累>.对于初级程序员来说,拿到需求,第一反应是用什么技术来尽快的完成任务,这本身并没有问题.但长此以往,不仅被需求的更改搞得 ...
- 显示屏display的API
display是代表25个led阵列显示屏的对象,包括以下的功能方法 # 获取(x,y)灯的亮度. 从 0 (不亮) to 9 (最亮). display.get_pixel(x, y) # 设置(x ...