如何每3秒钟调用一次15秒的功能?

时间:2012-01-24 17:15:07

标签: javascript jquery

如何每隔3秒调用一次jQuery函数?

$(document).ready(function ()
{
    //do stuff...

    $('post').each(function()
    {
        //do stuff...
    })

    //do stuff...
})

我正在尝试运行该代码15秒。

5 个答案:

答案 0 :(得分:15)

到目前为止,没有一个答案考虑到它只想发生15秒然后停止......

$(function() {
    var intervalID = setInterval(function() {
        //  Do whatever in here that happens every 3 seconds
    }, 3000);
    setTimeout(function() {
        clearInterval(intervalID);
    }, 18000);
});

这会创建一个间隔(每3秒),它会运行您在函数中放入的任何代码。 15秒后,间隔被破坏(最初有3秒延迟,因此整个运行时间为18秒)。

答案 1 :(得分:1)

在X毫秒过后,您可以使用setTimeout来运行函数。

var timeout = setTimeout(function(){
    $('post').each(function(){
        //do stuff...
    });
}, 3000);

或者,setInterval每隔X毫秒运行一次函数。

var interval = setInterval(function(){
    $('post').each(function(){
        //do stuff...
    });
}, 3000);

setTimeoutsetInterval返回ID,这些ID可用于使用clearTimeoutclearInterval清除超时/间隔。

答案 2 :(得分:0)

setInterval(function() {
      // Do something every 3 seconds
}, 3000);

答案 3 :(得分:0)

使用setInterval功能。

var doPost = function() {
  $('post').each(function() { 
    ...
  });
};
setInterval(function() { doPost(); }, 3000);

答案 4 :(得分:-1)

您也可以使用setTimeout方法,它支持取消计时器等功能。

请参阅:http://msdn.microsoft.com/en-us/library/ie/ms536753(v=vs.85).aspx