zoukankan      html  css  js  c++  java
  • 按照准时准点的15分钟刷新

    要求:按照15分钟刷新但是必须是当前时间为参考:例如现在是33分钟下一次刷新的时间是12分钟 第二次以后就是15分钟

    第一种简单粗暴(定时器每分钟执行)

    var limit = 15
    setInterval(function() {
      var currMinutes = new Date().getMinutes()
      if (currMinutes % limit == 0) {
        /*其他代码*/
      }
    }, 1000 * 60)

    第二种是精确计算间隔

    // 间隔
    var limit = 15
    // 当前分钟
    var currMinutes = new Date().getMinutes()
    // 当前间隔
    var diff = currMinutes == 0 ? limit : (60 - currMinutes) % limit
    
    var startFun = function() {
        // 启动定时器
        var intval = setTimeout(function() {
    
            /*其他代码*/
            console.log('yes')
            if (diff != limit) {
                diff = limit
                clearTimeout(intval)
            }
            startFun()
    
        }, diff * 60 * 1000)
    }
    
    startFun()

    看了第一个写法,在看第二个写法是不是觉得第二个就是一个笑话(傻逼)的写法。我费了半天劲写了第二种写法,突然陈(汉军)老师说了第一个写法,

    我也笑自己傻,真傻

    如果这篇文章对您有帮助,您可以打赏我

    技术交流QQ群:15129679

  • 相关阅读:
    jQuery选择器之层级选择器
    信息滚动制作
    scrollTop、offsetTop、clientTop
    模电GG
    matlab求解线性方程组
    NWERC2016I
    WEB开发资料集散
    NWERC2016H
    相量变换的性质
    GCJ2017R1C B. Parenting Partnering
  • 原文地址:https://www.cnblogs.com/yeminglong/p/14505566.html
Copyright © 2011-2022 走看看