JS定时器使用,定时定点,固定时刻,循环执行详解


Posted in Javascript onMay 31, 2016

本文概述:本文主要介绍通过JS实现定时定点执行,在某一个固定时刻执行某个函数的方法。比如说在下一个整点执行,在每一个整点执行,每隔10分钟定时执行的方法。

JavaScript中有两个定时器方法:setTimeout()和setInterval()。

这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,或者函数名,还有一个是以毫秒为单位的时间间隔,当过了那个时间段之后就将执行那段代码。

不过这两个函数还是有区别的:

① setInterval()会多次执行要定时执行的代码或函数。经过了那个固定的时间间隔,它还会自动重复执行代码。

② setTimeout()只会执行一次那段代码或者指定的函数。

1.循环执行

下面的JS语句实现的是每过十分钟执行一次circulateExecute()方法。

//循环执行,每十分钟一次。10分钟后第一次执行。
setInterval("circulateExecute();",10*60*1000);//10分钟执行一次

2.下一个整点,或者某个时刻定点执行

以下javascript代码实现的是实现在当前时刻的下一个整点定点执行nextIntegralPointAfterLogin()方法。

var date = new Date();//现在时刻
var dateIntegralPoint = new Date();//用户登录时刻的下一个整点,也可以设置成某一个固定时刻
dateIntegralPoint.setHours(date.getHours()+1);//小时数增加1
dateIntegralPoint.setMinutes(0);
dateIntegralPoint.setSeconds(0);
setTimeout("nextIntegralPointAfterLogin();",dateIntegralPoint-date);//用户登录后的下一个整点执行。

3.每一个整点定点执行

通过上面介绍的在下一个整点执行nextIntegralPointAfterLogin()函数后,为了实现在每一个整点都执行某函数,可以在nextIntegralPointAfterLogin()函数中写上以下代码。

function nextIntegralPointAfterLogin(){

     IntegralPointExecute();//在整点执行的函数,在每个整点都调用该函数
setInterval("IntegralPointExecute();",60*60*1000);//一个小时执行一次,那么下一个整点,下下一个整点都会执行

}
注意:由于JS计算的误差以及执行过程中需要一定的时间,所以上述定时定点执行方法可能会有一两秒的误差。

以上这篇JS定时器使用,定时定点,固定时刻,循环执行详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
纯js模拟div层弹性运动的方法
Jul 27 Javascript
跟我学习javascript的call(),apply(),bind()与回调
Nov 16 Javascript
简单讲解AngularJS的Routing路由的定义与使用
Mar 05 Javascript
学习使用bootstrap3栅格系统
Apr 12 Javascript
JavaScript验证知识整理
Mar 24 Javascript
jQuery中复合选择器简单用法示例
Mar 31 jQuery
ng-repeat指令在迭代对象时的去重方法
Oct 02 Javascript
vue-cli3.0 环境变量与模式配置方法
Nov 08 Javascript
Electron vue的使用教程图文详解
Jul 05 Javascript
Vue.js watch监视属性知识点总结
Nov 11 Javascript
Vue3项目打包后部署到服务器 请求不到后台接口解决方法
Feb 06 Javascript
Vue过滤器(filter)实现及应用场景详解
Jun 15 Vue.js
BootStrap创建响应式导航条实例代码
May 31 #Javascript
浅谈js中的延迟执行和定时执行
May 31 #Javascript
温习Javascript基础语法之词法结构
May 31 #Javascript
jQuery文字横向滚动效果的实现代码
May 31 #Javascript
Javascript实现跑马灯效果的简单实例
May 31 #Javascript
javascript实现简易计算器的代码
May 31 #Javascript
javascript实现任务栏消息提示的简单实例
May 31 #Javascript
You might like
php文件夹与文件目录操作函数介绍
2013/09/09 PHP
php实现TCP端口检测的方法
2015/04/01 PHP
PHP+MySql+jQuery实现的"顶"和"踩"投票功能
2016/05/21 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
js变换显示图片的实例
2013/04/16 Javascript
JS注释所产生的bug 即使注释也会执行
2013/11/19 Javascript
jquery 使用简明教程
2014/03/05 Javascript
一个简单的实现下拉框多选的插件可移植性比较好
2014/05/05 Javascript
javascript实现随机读取数组的方法
2015/08/03 Javascript
JavaScript SweetAlert插件实现超酷消息警告框
2016/01/28 Javascript
BootStrap扔进Django里的方法详解
2016/05/13 Javascript
jQuery旋转插件jqueryrotate用法详解
2016/10/13 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
H5图片压缩与上传实例
2017/04/21 Javascript
JS使用cookie实现只出现一次的广告代码效果
2017/04/22 Javascript
nodejs处理图片的中间件node-images详解
2017/05/08 NodeJs
Angular-UI Bootstrap组件实现警报功能
2018/07/16 Javascript
详解Vue 全局变量,局部变量
2019/04/17 Javascript
vux-scroller实现移动端上拉加载功能过程解析
2019/10/08 Javascript
[46:43]DOTA2上海特级锦标赛D组小组赛#1 EG VS COL第三局
2016/02/28 DOTA
[02:04]完美世界城市挑战赛秋季赛报名开始 谁是solo路人王?
2019/10/10 DOTA
JSON Web Tokens的实现原理
2017/04/02 Python
详解django.contirb.auth-认证
2018/07/16 Python
Python基础之循环语句用法示例【for、while循环】
2019/03/23 Python
PyTorch基本数据类型(一)
2019/05/22 Python
python3+PyQt5 使用三种不同的简便项窗口部件显示数据的方法
2019/06/17 Python
VS2019+python3.7+opencv4.1+tensorflow1.13配置详解
2020/04/16 Python
详解BeautifulSoup获取特定标签下内容的方法
2020/12/07 Python
N.Peal官网:来自伦敦的高档羊绒品牌
2018/10/29 全球购物
英国时尚泳装品牌:Maru Swimwear
2019/10/06 全球购物
应届毕业生简历自我评价
2014/01/31 职场文书
跳蚤市场口号
2014/06/13 职场文书
写给妈妈的感谢信
2015/01/22 职场文书
2019通用版劳动合同范本!
2019/07/11 职场文书
Java9新特性之Module模块化编程示例演绎
2022/03/16 Java/Android
教你nginx跳转配置的四种方式
2022/07/07 Servers