2013-03-21 14 views
5

Chcę wykonywać kod co 10 sekund, ale także przy ładowaniu strony. Chodzi mi o to, że chcę, aby kod był uruchamiany, gdy strona ładuje się początkowo, a następnie co 10 sekund. Poniższy kod wykonuje kod początkowo po 10 sekundach.Wykonaj kod co 10 sekund, ale zacznij także od 0 sekund

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

Dzięki!

+0

Możesz zrobić to naprawdę f namaszczenie, które wywołujesz, a następnie na pageLoad wystarczy zadzwonić do swojej funkcji. Prosta zmiana. –

+0

Ponieważ PO przyjął odpowiedź bez jQuery, teraz usunąłem znacznik jQuery z pytania. –

Odpowiedz

7

Można to zrobić:

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

IIFE jest tutaj stosowane w celu uniknięcia zanieczyszczenia otaczającej przestrzeni nazw.

3

Najpierw uruchom funkcję w $.ready, a następnie uruchom interwał z tą samą funkcją.

Coś wzdłuż linii:

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

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

Oczywiście, ale OP chciał wykonać funkcję "również na stronie ładowania". –

+0

Dobrze, tęsknię za tą częścią. :) – techfoobar

+0

Wygląda na to, że OP nie chciał, aby funkcja działała w 'jQuery.ready', ponieważ zaakceptował drugą odpowiedź :) –

1

Nie inline funkcję, a potem po prostu nazwać to natychmiast:

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

function foo() 
{ 
    //Do Stuff 
} 
0

tworzę LINK spróbować tej

functionCall(); 
function functionCall(){ 

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

@ user1937021 możesz tego użyć.Spróbuj go raz – PSR

0
function(fcuntion(){ 

function youcode(){ 

// you code 10 second 

} 

youcode(); // onload 

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

})