【问题标题】:JavaScript Call function then call it after x seconds continuously [duplicate]JavaScript调用函数然后在x秒后连续调用它[重复]
【发布时间】:2017-11-22 21:24:35
【问题描述】:

Following 每 10 秒调用一次函数。 它不会在前 10 秒后立即调用该函数。

window.setInterval(function(){
  /// foo
}, 10000);

如何先调用函数,然后每隔 x 秒调用一次,最好的方法是什么?

【问题讨论】:

  • 让它成为一个独立的函数。调用它然后将它提供给 setInterval()

标签: javascript


【解决方案1】:

编辑:

<html>
    <head><title>Timeout testing</title></head>
    <body onload="callMe()">
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

    <script type="text/javascript">
    function callMe()
    {
        window.console.log('called');
        window.setTimeout(callMe, 1000);
    }
    $(".realContent").click(function() {

         var data = [ {"id":1,"start":"/Date(1401993000000+0530)/"} ];
         var myDate = new Date(data[0].start.match(/\d+/)[0] * 1);
         myDate =  new Date(myDate.getTime() + myDate.getTimezoneOffset() * 60 * 1000);
         alert(myDate);


    })
    </script>
    </body>
    </html>

【讨论】:

  • 虽然这段代码 sn-p 可以解决问题,但including an explanation 确实有助于提高帖子的质量。请记住,您是在为将来的读者回答问题,而这些人可能不知道您提出代码建议的原因。
【解决方案2】:

要么给它一个名字,然后在setInterval之后直接调用它

function repeat(){
//foo
}

window.setInterval(repeat, 10000);
repeat();

或者改用setTimeout 并从函数内部调用它

function repeat(){
 //foo
 setTimeout(repeat, 10000);
}
repeat();

【讨论】:

    猜你喜欢
    • 2011-11-03
    • 1970-01-01
    • 2023-03-22
    • 1970-01-01
    • 1970-01-01
    • 2015-05-27
    • 2012-01-03
    • 2015-11-29
    • 1970-01-01
    相关资源
    最近更新 更多