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 相关文章推荐
JavaScript 撑出页面文字换行
Jun 15 Javascript
单击按钮显示隐藏子菜单经典案例
Jan 04 Javascript
简洁Ajax函数处理(示例代码)
Nov 15 Javascript
Jquery实现遮罩层的方法
Jun 08 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
JS传递对象数组为参数给后端,后端获取的实例代码
Jun 28 Javascript
jQuery实现的右下角广告窗体跟随效果示例
Sep 16 Javascript
js清除浏览器缓存的几种方法
Mar 15 Javascript
推荐三款不错的图片压缩上传插件(webuploader、localResizeIMG4、LUploader)
Apr 21 Javascript
原生JS实现不断变化的标签
May 22 Javascript
vue-router两种模式区别及使用注意事项详解
Aug 01 Javascript
解读Vue组件注册方式
May 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实现采集程序原理和简单示例代码
2007/03/18 PHP
linux下为php添加curl扩展的方法
2011/07/29 PHP
php实现使用正则将文本中的网址转换成链接标签
2014/12/03 PHP
PHP中实现获取IP和地理位置类分享
2015/02/10 PHP
php实现将base64格式图片保存在指定目录的方法
2016/10/13 PHP
Aster vs Newbee BO5 第三场2.19
2021/03/10 DOTA
基于jquery的页面划词搜索JS
2010/09/14 Javascript
33个优秀的jQuery 教程分享(幻灯片、动画菜单)
2011/07/08 Javascript
jquery实现一个简单好用的弹出框
2014/09/26 Javascript
jQuery判断对象是否存在的方法
2015/02/05 Javascript
jquery实现页面百叶窗走马灯式翻滚显示效果的方法
2015/03/12 Javascript
js中跨域方法原理详解
2015/07/19 Javascript
Angular1.x自定义指令实例详解
2017/03/01 Javascript
关于vue.js v-bind 的一些理解和思考
2017/06/06 Javascript
vue.js 上传图片实例代码
2017/06/22 Javascript
vue实现下拉菜单树
2020/10/22 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
TensorFlow平台下Python实现神经网络
2018/03/10 Python
Python爬取qq空间说说的实例代码
2018/08/17 Python
详解配置Django的Celery异步之路踩坑
2018/11/25 Python
Python元组常见操作示例
2019/02/19 Python
pyqt5 实现工具栏文字图片同时显示
2019/06/13 Python
python 返回一个列表中第二大的数方法
2019/07/09 Python
Django实现跨域请求过程详解
2019/07/25 Python
Python 日期区间处理 (本周本月上周上月...)
2019/08/08 Python
python的time模块和datetime模块实例解析
2019/11/29 Python
Django中的DateTimeField和DateField实现
2021/02/24 Python
一款利用html5和css3实现的3D立方体旋转效果教程
2016/04/26 HTML / CSS
什么是JNDI的上下文?如何初始化JNDI上下文
2012/03/10 面试题
如何清空Session
2015/02/23 面试题
优秀的个人求职信范文
2014/05/09 职场文书
银行求职自荐信
2014/06/30 职场文书
建筑安全生产目标责任书
2014/07/23 职场文书
2015年项目工作总结
2015/04/29 职场文书
工人先锋号事迹材料(2016精选版)
2016/03/01 职场文书
使用tensorflow 实现反向传播求导
2021/05/26 Python