2013-03-21 140 views
5

我想每10秒執行一次代碼,但也要在頁面加載時執行代碼。我的意思是我希望代碼在頁面最初加載時執行,然後每10秒執行一次。以下代碼僅在10秒後執行代碼。每10秒執行一次代碼,但在0秒後啓動

window.setInterval(function(){ 
    /// call your function here 
}, 10000); 

謝謝!

+0

你可以讓這個真正的f然後在pageLoad上調用你的函數。簡單的改變。 – 2013-03-21 13:12:52

+0

由於OP在沒有jQuery的情況下接受了答案,我現在已經從問題中刪除了jQuery標記。 – 2013-03-21 16:16:54

回答

7

你可以這樣做:

(function(){ 
    var f = function() { 
    // do something 
    }; 
    window.setInterval(f, 10000); 
    f(); 
})(); 

IIFE在這裏用來避免污染封閉命名空間。

3

首先執行$.ready中的功能,然後用該功能開始間隔。

東西線沿線的:

$(function() { 
    var f = function() { }; 

    f(); 
    window.setInterval(f, 10000); 
}); 
+0

當然,但OP希望執行「也在頁面加載」功能。 – 2013-03-21 13:16:54

+0

對,錯過了那部分。 :) – techfoobar 2013-03-21 13:17:54

+0

顯然OP不希望函數在'jQuery.ready'中執行完畢,因爲他接受了其他答案:) – 2013-03-21 16:18:26

1

不要內聯函數,然後就馬上把它叫做:

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

function foo() 
{ 
    //Do Stuff 
} 
0

創建LINK試試這個

functionCall(); 
function functionCall(){ 

window.setInterval(function(){ 
    /// call your function here 
}, 10000); 
} 
+0

@ user1937021你可以使用this.Try一次 – PSR 2013-03-21 13:13:24

0
function(fcuntion(){ 

function youcode(){ 

// you code 10 second 

} 

youcode(); // onload 

setInterval (função() { 
    youcode(); 
}, 10000); 

})