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实现的仿sohu博客更换页面风格(简单版)
Mar 22 Javascript
jquery 设置元素相对于另一个元素的top值(实例代码)
Nov 06 Javascript
Node.js实现的简易网页抓取功能示例
Dec 05 Javascript
jQuery检测某个元素是否存在代码分享
Jul 09 Javascript
JS实现滑动菜单效果代码(包括Tab,选项卡,横向等效果)
Sep 24 Javascript
jQuery  ready方法实现原理详解
Oct 19 Javascript
jquery 追加元素append、prepend、before、after用法与区别分析
Dec 02 Javascript
jQuery实现的无缝广告图片左右滚动功能详解
Dec 24 Javascript
微信小程序组件 contact-button(客服会话按钮)详解及实例代码
Jan 10 Javascript
详解vue中使用微信jssdk
Apr 19 Javascript
vuex实现购物车的增加减少移除
Jun 28 Javascript
在vue中通过render函数给子组件设置ref操作
Nov 17 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快速url重写更新版[需php 5.30以上]
2010/04/25 PHP
PHP处理JSON字符串key缺少双引号的解决方法
2014/09/16 PHP
基于PHP实现数据分页显示功能
2016/05/26 PHP
xmlHTTP实例
2006/10/24 Javascript
IE中radio 或checkbox的checked属性初始状态下不能选中显示问题
2009/07/25 Javascript
firefox下frameset取不到值的解决方法
2010/09/06 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
javascript控制Div层透明属性由浅变深由深变浅逐渐显示
2013/11/12 Javascript
Javascript实现获取窗口的大小和位置代码分享
2014/12/04 Javascript
jQuery点击输入框显示验证码图片
2016/05/19 Javascript
jQuery移动端图片上传组件
2016/06/12 Javascript
javascript this详细介绍
2016/09/19 Javascript
js判断是否为空和typeof的用法(详解)
2016/10/07 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
浅谈es6 javascript的map数据结构
2017/12/14 Javascript
jQuery EasyUI window窗口使用实例代码
2017/12/25 jQuery
JavaScript如何实现图片处理与合成
2020/05/29 Javascript
针对Vue路由history模式下Nginx后台配置操作
2020/10/22 Javascript
node koa2 ssr项目搭建的方法步骤
2020/12/11 Javascript
在Python的Django框架的视图中使用Session的方法
2015/07/23 Python
python使用tornado实现登录和登出
2018/07/28 Python
Python django使用多进程连接mysql错误的解决方法
2018/10/08 Python
python 实现对文件夹中的图像连续重命名方法
2018/10/25 Python
python挖矿算力测试程序详解
2019/07/03 Python
Python爬取知乎图片代码实现解析
2019/09/17 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
css3使用animation属性实现炫酷效果(推荐)
2020/02/04 HTML / CSS
关于HTML5的安全问题开发人员需要牢记的
2012/06/21 HTML / CSS
The Outnet亚太地区:折扣设计师时装店
2019/12/05 全球购物
武汉某公司的C#笔试题面试题
2015/12/25 面试题
linux面试题参考答案(3)
2012/09/13 面试题
服务中心夜班服务员岗位职责
2013/11/27 职场文书
公司年会策划方案
2014/05/17 职场文书
应聘教师自荐书
2014/06/16 职场文书
2015毕业实习推荐信
2015/03/23 职场文书
2015年网络舆情工作总结
2015/07/24 职场文书