本文概述:本文主要介绍通过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计算的误差以及执行过程中需要一定的时间,所以上述定时定点执行方法可能会有一两秒的误差。
————————————————
版权声明:本文为CSDN博主「daydayupzzc」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/daydayupzzc/article/details/38817343

文中定时器中的参数 ‘dateIntegralPoint - date’ 为当前时间和下个需要执行定时器事件的毫秒差

转载于:https://www.cnblogs.com/yearshar/p/11528330.html

JS定时器使用,定时定点,固定时刻,循环执行相关推荐

  1. js定时器,实现每天早上9点执行代码片段,完整代码

    js定时器,实现每天早上9点执行代码片段,完整代码 1.hour:小时,minute:分钟,callTask:函数 function setScheduledTask(hour, minute, ca ...

  2. 前端js——定时器、定时跑、加速运动

    function tim(){alert('定时器');} 每隔2秒执行一次time函数(一直) setInterval(tim,2000); 3秒后,执行一次time函数(一次) setTimeou ...

  3. JS 定时器整点定时刷新

    最近在做驾驶舱 数据大屏,应甲方要求,大屏必须在整点 间隔十分钟 来刷新接口获取数据,所以在考虑减少定时器触发的次数来完成需求,以下是我的两个想法. 第一种,每隔10秒或者固定秒数触发定时器,定时器内 ...

  4. jmeter定时器的使用_jmeter压测学习30定时器之固定定时器(sleep等待时间)

    前言 Jmeter的线程组在发送2个请求之间需要设置一个等待时间时,类似于代码里面的sleep休眠时间,可以用固定定时器解决. 固定定时器 有2个HTTP请求,a是注册用户请求,b是登录的请求.先发a ...

  5. ajax定时器怎么写,js定时器怎么写?就是在特定时间执行某段程序

    js定时器怎么写?就是在特定时间执行某段程序 复制代码 代码如下: $(function(){ var handler = function(){ } var timer = setInterval( ...

  6. stm32常见定时器---TIM定时及PWM输出

    STM32 常见定时器资源: 系统滴答定时器SysTick----提供时钟节拍做时间基准 看门狗定时器WatchDog----防止程序跑飞 实时时钟RTC 基本定时器:TIM7.TIM6 通用定时器: ...

  7. 用js完成页面定时弹出广告

    用js完成页面定时弹出广告 第一步:在页面指定位置隐藏一个广告图片(使用display属性的none值) 第二步:确定事件(onload)并为其绑定一个函数 第三步:书写这个函数(设置一个显示图片的定 ...

  8. JS定时器setTimeout和setInterval介绍

    JS定时器setTimeout和setInterval介绍 JavaScript 定时器,有时也称为"计时器",用来在经过指定的时间后执行某些任务.avaScript 中提供了两种 ...

  9. JS定时器不准及解决方案

    原因:.Eventloop 循环机制中,异步事件 setInterval 到时后会把回调函数放入消息队列中,主线程的任务执行完毕后依次执行消息队列的任务,由于消息队列中存在大量任务,其他任务执行时间就 ...

最新文章

  1. Python中的test测试
  2. 入门与实战_商品运营入门——实战秘籍
  3. 你真的会学习吗?从结构化思维说起
  4. du命令、df命令用法
  5. 艾伟:ASP.NET跨页面传值技巧总结
  6. Android add external jar
  7. javascript--DOM概念
  8. 深入理解mysql中case when流程控制语句
  9. 升级ipython_Linux服务器python升级
  10. linux设置进程不忽略信号,Linux下后台进程编写中屏蔽信号
  11. web前端之CSS——web字体详解
  12. Java对比两个json 的数据结构和内容是否一样
  13. 【bfs 反向建边】2016-2017 ACM-ICPC, Egyptian Collegiate Programming Contest (ECPC 16) Jumping
  14. 存储容量扩展的设计仿真实验
  15. 透明壁纸android,主题透明壁纸软件下载-主题透明壁纸 安卓版v1.0-PC6安卓网
  16. MATLAB 2016a系统错误解决方案
  17. 罗克韦尔自动化荣膺“2019全球最具商业道德企业”,这是该公司第11年上榜
  18. 《通用数据保护条例》(GDPR)系列解读二:个人七大数据权利,企业违反或面临2000万罚款
  19. Maven的下载和安装【详细】
  20. 观点 | 未来的货币,是可编程的电子货币

热门文章

  1. php mysql数据备份命令_MySQL数据备份与恢复的相关操作命令
  2. Xenix 操作系统的简史
  3. diff算法_传统Diff算法为什么时间复杂度要O(n ^3)
  4. docker 删除所有镜像_关于 Docker 镜像的操作,看完这篇就够啦 !(下)| 文末福利...
  5. python合并csv文件_Python学习——pandas 合并csv文件
  6. Java从键盘输入若干数_用java编程序:从键盘输入若干个整数,输出这些数中大于其平均值的数。...
  7. java实现未读消息提醒_Android自定义View之未读消息提示
  8. java jar killed_容器中Java 程序OOMKilled原因浅析
  9. jedis watch Java_jedis操作redis的几种常见方式总结
  10. 鸿蒙系统的挑战,简单的讲解下何为鸿蒙系统,可能会挑战你的认知颠覆你的想象...