2010-12-09 11 views

Antwort

1

Wenn Sie es 30-mal ausgeführt werden soll, einmal pro Sekunde, dann würden Sie setInterval verwenden.

var interval = window.setInterval(function() { 
    // do stuff 
}, 1000); 

window.setTimeout(function() { 
    window.clearInterval(interval); 
}, 30 * 1000); 
+0

Interessante Interpretation von "wiederhole es in 30 Sekunden". ;) –

+0

Die Frage war nicht klar, also habe ich die beste Schätzung gemacht, wenn man bedenkt, dass er "30 nach dem Laden von Seiten" ausführen will. 30 mal oder 30 Sekunden? Er erwähnte wiederholt, also sind wir hier. Außerdem hat jemand die andere Interpretation bereits beantwortet. –

3

Sie die window.setTimeout Methode verwenden:

window.setTimeout(function() { 
    // This will execute 30s after the page loads 
    // and it will execute only once 
}, 30000); 

Wenn Sie die Ausführung der Funktion auf jeden wiederholen möchten 30 Sekunden können Sie die setInterval Methode verwenden.

Soweit jquery betroffen ist, müssen Sie es nicht für eine so einfache Aufgabe verwenden, wie es bereits in Javascript eingebaut ist.

+1

nicht genug jQuery? = P –

+1

Und um es alle 30 Sekunden zu wiederholen, ersetzen Sie setTimeout durch setInterval. :) –

+0

Wenn man sehr genau sein will, bietet * jQuery * (selbst) keine Funktionalität dafür;) –

3

Sie wollen setInterval() hier, wie folgt aus:

setInterval(function() { 
    alert("It's been 30 seconds"); 
}, 30000); 

setInterval() wird nach der Verzögerung Feuer (so 30 Sekunden), dann wieder jedes Mal, ist die Verzögerung bis (alle 30 Sekunden je nach Wunsch).

0
$.ajaxSetup({ 
    cache: false 
}); 
    setInterval(function() { 
     $("#data1").load('1.php'); 
    }, 30000); 
}); 

Ersetzen Sie einfach Ihre jQuery-Funktion in :)

Verwandte Themen