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类定义语法,私有成员、受保护成员、静态成员等介绍
Dec 08 Javascript
基于jQuery的弹出框插件
Mar 18 Javascript
jQuery实现根据类型自动显示和隐藏表单
Mar 18 Javascript
深入浅析JavaScript中对事件的三种监听方式
Sep 29 Javascript
通过正则表达式获取url中参数的简单实现
Jun 07 Javascript
Angular ng-repeat指令实例以及扩展部分
Dec 26 Javascript
关于JavaScript中forEach和each用法浅析
Jul 27 Javascript
浅谈FastClick 填坑及源码解析
Mar 02 Javascript
使用vue中的v-for遍历二维数组的方法
Mar 07 Javascript
H5+C3+JS实现双人对战五子棋游戏(UI篇)
May 28 Javascript
Node.js实现用户评论社区功能(体验前后端开发的乐趣)
May 09 Javascript
JavaScript 判断数据类型的4种方法
Sep 11 Javascript
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 Xdebug 调试扩展的安装与使用.
2010/03/13 PHP
magento后台无法登录解决办法的两种方法
2016/12/09 PHP
PHP CURL中传递cookie的方法步骤
2019/05/09 PHP
对laravel的session获取与存取方法详解
2019/10/08 PHP
js 变量类型转换常用函数与代码[比较全]
2009/12/01 Javascript
在jQuery中 常用的选择器介绍
2013/04/16 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
多种方法实现360浏览器下禁止自动填写用户名密码
2014/06/16 Javascript
$("").click与onclick的区别示例介绍
2014/09/25 Javascript
jQuery拖拽插件gridster使用指南
2015/04/21 Javascript
jquery实现可自动收缩的TAB网页选项卡代码
2015/09/06 Javascript
JS实现的仿东京商城菜单、仿Win右键菜单及仿淘宝TAB特效合集
2015/09/28 Javascript
javascript实现复选框全选或反选
2017/02/04 Javascript
详解Node.js中exports和module.exports的区别
2017/04/19 Javascript
详解如何在Angular中快速定位DOM元素
2017/05/17 Javascript
Vue 项目代理设置的优化
2018/04/17 Javascript
详解利用nodejs对本地json文件进行增删改查
2019/09/20 NodeJs
vue实现div可拖动位置也可改变盒子大小的原理
2020/09/16 Javascript
[46:20]TFT vs Secret Supermajor小组赛C组 BO3 第二场 6.3
2018/06/04 DOTA
[35:29]Secret vs VG 2018国际邀请赛淘汰赛BO3 第三场 8.23
2018/08/24 DOTA
python杀死一个线程的方法
2015/09/06 Python
Python实现输出某区间范围内全部素数的方法
2018/05/02 Python
pycharm使用matplotlib.pyplot不显示图形的解决方法
2018/10/28 Python
pytorch打印网络结构的实例
2019/08/19 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python3中TQDM库安装及使用详解
2020/11/18 Python
英国评分最高的女性剃须刀订阅盒:FFS Beauty
2018/01/25 全球购物
杭州时比特电子有限公司SQL
2013/08/22 面试题
广告学专业毕业生自荐信
2013/09/24 职场文书
学前教育求职自荐信范文
2013/12/25 职场文书
领导干部“四风”问题批评与自我批评材料
2014/09/24 职场文书
个人合伙协议书范本
2014/10/14 职场文书
西柏坡导游词
2015/02/05 职场文书
2015年销售员工作总结范文
2015/04/07 职场文书
jquery插件实现图片悬浮
2021/04/16 jQuery
Python中 range | np.arange | np.linspace三者的区别
2022/03/22 Python