js定时器_js定时器嵌套 - CSDN
精华内容
参与话题
  • 这两个方法都可以用来实现在一个固定时间段之后去执行JavaScript。不过两者各有各的应用场景。 方 法 实际上,setTimeout和setInterval的语法相同。它们都有两个参数,一个是将要执行的代码字符串,还有一个是...

    本文概述:本文主要介绍通过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 定时器有以下两个方法: setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。 setTimeout() :在指定的毫秒数后调用函数或...

    js 定时器有以下两个方法:

    • setInterval() :按照指定的周期(以毫秒计)来调用函数或计算表达式。方法会不停地调用函数,直到 clearInterval() 被调用或窗口被关闭。
    • setTimeout() :在指定的毫秒数后调用函数或计算表达式。

    setInterval()

    语法

    setInterval(code,millisec,lang)
    参数 描述
    code 必需。要调用的函数或要执行的代码串。
    millisec 必须。周期性执行或调用 code 之间的时间间隔,以毫秒计。
    lang 可选。 JScript | VBScript | JavaScript

    以下实例在每 1000 毫秒执行 clock() 函数。实例中也包含了停止执行的按钮:

    setTimeout()

    语法

    setTimeout(code,millisec,lang)
    参数 描述
    code 必需。要调用的函数后要执行的 JavaScript 代码串。
    millisec 必需。在执行代码前需等待的毫秒数。
    lang 可选。脚本语言可以是:JScript | VBScript | JavaScript

     

     

    如果想要在一个函数中启用定时器  又想在另一个函数关闭这个函数 可以这样做:

    var timer1 = null;

    function start(){
    if ( timer1 )
    return;
    timer1 = setInterval("test()",200);
    }
    function end(){
    if ( timer1 )
    {
    clearInterval(timer1);
    timer1 = null;
    }
    }

    注意事项: 这里的 timer1 相当于setInterval 的 id 执行clearInterval(timer1)方法时 就是传入定时器 ID  进行停止的

    =================踩过的坑=============

    当你想要在zh执行函数里面放入参数时   最好使用以下方法 : 否则定时器不会执行. 只会执行里面的函数方法  代码如下:

    ===要执行的函数===

    展开全文
  • JS设置定时器和清除定时器

    万次阅读 多人点赞 2018-09-03 14:50:52
    JS设置定时器和清除定时器  在做项目中难免会碰到需要实时刷新,动画依次出现等等需求,这时候就需要定时器登上我们的代码舞台了,所以今天我们就先来了解一下JS定时器的设置和清除吧。 一、启用定时器  window...

    JS设置定时器和清除定时器

       在做项目中难免会碰到需要实时刷新,动画依次出现等等需求,这时候就需要定时器登上我们的代码舞台了,所以今天我们就先来了解一下JS定时器的设置和清除吧。

    • 一、启用定时器

       window对象提供了两个方法来实现定时器的效果,分别是window.setTimeout()和window.setInterval。其中前者可以使一段代码在指定时间后运行;而后者则可以使一段代码每过指定时间就运行一次。它们的原型如下:

       window.setTimeout(code,millisec);

       window.setInterval(code,millisec);

       其中,code可以是用引号括起来的一段代码,也可以是一个函数名,到了指定的时间,系统便会自动调用该函数,当使用函数名作为调用句柄时,不能带有任何参数;而使用字符串时,则可以在其中写入要传递的参数。两个方法中的第二个参数是millisec,表示延时或者重复执行的毫秒数。

    具体写法如下

    • 函数名,不带参数

    setTimeout (test,1000);           //1秒后执行

    字符串,可以执行的代码

    setTimeout ('test()',1000);       //1秒后执行

    • 匿名函数

    setTimeout (function(){},1000);   //1秒后执行

    注:setInterval的用法与setTimeout一样

    • 调用函数,带参数

    setTimeout ('test(参数)',1000);      //1秒后执行

    注:如果不小心写成了setTimeout (test(参数),1000);test方法就会立即执行哦。

    DEMO代码:

     

    执行结果:

     

    二、清除定时器

       由于定时器在调用时,都会返回一个整形的数字,该数字代表定时器的序号,即第多少个定时器,所以定时器的清除要借助于这个返回的数字。

       定时器清除的方法:clearTimeout(obj)和clearInterval(obj)。

       要清除定时器,就必须在用定时器的时候,定义一个变量来记录定时器的返回值。如下:

    //setTimeout 1000ms后执行1次
    var test1 = setTimeout(function(){
        //your codes
    },1000);
     
    //setInterval 每隔1000ms执行一次
    var test2 = setInterval(function(){
       //your codes
    },1000)
     
    //清除Timeout的定时器,传入变量名(创建Timeout定时器时定义的变量名)
    clearTimeout(test1);
     
    //清除Interval的定时器,传入变量名(创建Interval定时器时定义的变量名)
    clearInterval(test2);
    

     

       注:有时候在写的时候,还会习惯将清空的定时器的变量置空,这样写既可以释放内存,也可以便于后边代码的判断。

    原文链接:https://www.h5anli.com/articles/201705/setimeone.html

    展开全文
  • javascript定时器,取消定时器,及js定时器优化方法

    万次阅读 多人点赞 2014-12-28 19:08:19
    Method是定时调用的js方法 Time是间隔时间,单位是毫秒 取消定时器: clearInterval(Method); 那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决? 优化方案如下 ...

    通常用的方法:

    启动定时器:

    window.setInterval(Method,Time)  

    Method是定时调用的js方法

    Time是间隔时间,单位是毫秒

    取消定时器:

    clearInterval(Method);


    那么问题来了。用 clearInterval(timerid);来清除,往往不能马上停止,用什么方法比较好解决?

    优化方案如下

    var timeout = false; //启动及关闭按钮
    function time()
    {
      if(timeout) return;
      Method();
      setTimeout(time,100); //time是指本身,延时递归调用自己,100为间隔调用时间,单位毫秒
    }

    总结
    一般不用setInterval,而用setTimeout的延时递归来代替interval。
    setInterval会产生回调堆积,特别是时间很短的时候。  

    展开全文
  • js定时器

    千次阅读 2019-03-01 10:21:05
    BOM 浏览器模型 分为:一次性定时 无穷次定时 ... 消除定时器 clearInterval(定时器标识) clearTimeout(定时器标识) <!DOCTYPE html> <html lang="en"&gt...
  • Js定时器

    2019-07-30 22:00:32
    js定时器: 1.倒计时定时器: setTimeout:(函数体,间隔时间(毫秒为单位)). 经常写在函体内; 2.循环定时器: setInterval:(函数体,间隔时间),常写在函数体外; 倒计时定时器是在指定时间到达后触发事件,而...
  • JS定时器不准及解决方案

    千次阅读 2019-08-21 11:14:32
    原因:.Eventloop 循环机制中,异步事件 setInterval 到时后会把回调函数放入消息队列中,主线程的任务执行完毕后依次执行消息队列的任务,由于消息队列中存在大量任务,其他任务执行时间就会造成定时器回调函数的...
  • js定时器的3种方式

    2019-06-10 17:55:45
    1.setTimeout 延时执行 最小执行时间间隔是4ms如果需要间隔执行的话,递归执行函数。setTimeout(0) 。 将事件加入到执行队列中,在等待执行队列去执行。起到异步执行的作用。2.setInterval 定时执行 最小执行时间...
  • 定时器js小案例)

    2020-05-19 00:21:39
    这个倒计时是不断变化的,因此需要定时器来自动变化(setInterval) 三个盒子里面分别存放时分秒 三个盒子利用 innerHTML 放入计算的小时分钟秒数 第一次执行也是间隔秒数,因此刚刷新页面是会有空白 最好采取封装...
  • 简述js定时器的用法

    千次阅读 2018-10-10 20:28:10
    js常用的定时器方法有三个 setTimeout(“js语句”,定时时间) setInterval(“js语句”,定时时间) clearTimeout(需要停止的对象) 注意:这里的定时时间单位都为毫秒 下面我们来看一下它们的用法: ...
  • js 周期性定时器

    千次阅读 2018-10-22 20:56:05
    周期性定时器:设置一个时间间隔,时间一到,做指定的事情,然后重新计时 设置:var timer = setInterval(函数, 时间) 清除:clearInterval(timer) <html>  <head>  &...
  • JS 定时器工作原理

    千次阅读 2013-01-06 15:31:56
    在对JS本质理解的层面上,重要的是了解JS定时器是如何工作的。很多时候我们觉得定时器的执行不够直观, 那因为它们运行在单线程的环境里。我们先来仔细观察下面三个js的内置函数,然后我们再具体去使用它们: ...
  • JS基础-定时器

    2019-06-03 18:30:27
    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta http-equiv="X-U...
  • Javascript定时器的使用方法

    万次阅读 2017-01-04 19:46:48
    Javascript中的定时器有两种,setInterval和setTimeout,而定时器的作用就是延迟执行。 一、定时器的写法 setInterval(expression,milliseconds); setTimeout(expression,milliseconds); 上式中,expression
  • JavaScript - 销毁定时器

    万次阅读 2018-04-18 10:26:01
    JavaScript - 销毁定时器 &lt;script&gt; var i = setTimeout(function(){ },1000); //setInterval 每隔1000ms执行一次 var j = setInterval(function(){ },1000) //清除Timeout的定时器,传入...
  • js 定时器的开启与关闭

    万次阅读 2018-03-16 17:18:24
    开启:realTimeClData = setInterval(realTimeCl, 60000);运行:function realTimeCl() {}关闭clearInterval(realTimeClData);
  • JS定时器如何传递参数

    千次阅读 2017-05-04 21:29:10
    JS定时器 传递参数我在使用setTimeout()或setInterval()时, setTimeout(addIcons(),3000); 或 setInterval(addIcons(),3000);总是发现在页面加载的时候,它就直接执行函数,并没有在3秒之后加载。后来去查了一下...
  • js清除定时器

    千次阅读 2019-01-13 11:05:35
    this.timer = setInterval(() =&gt; { that.get_pay_status(); }, 2000); beforeDestroy() { clearInterval(this.timer); this.timer = null; },
  • JS定时器点击按钮

    千次阅读 2016-11-22 09:38:05
    //单次定时器 setTimeout(function() { var e = document.createEvent("MouseEvents"); e.initEvent("click", true, true); document.getElementById("loginbtn").dispatchEvent(e); }, 2000); //...
1 2 3 4 5 ... 20
收藏数 61,094
精华内容 24,437
关键字:

js定时器