/ / wie man ein jQuery-Timeout ausführt - Javascript, Jquery

Wie man ein jQuery Timeout macht - javascript, jquery

using jQuery ... wie führe ich eine Funktion aus und dann alle 2 Minuten eine zweite Funktion.

z.B:

Funktion 1: läuft einmal

Funktion 2: Läuft alle 2 Minuten ab, nachdem Funktion 1 beendet ist

Jede Hilfe wird sehr geschätzt.

C

Antworten:

1 für die Antwort № 1

jQuery "s delay() Funktion ist kein Ersatz für Javascript setInterval oder setTimeout. So führen Sie eine Funktion # 1 einmal beim Laden der Seite aus und funktionieren dann alle 2 Minuten nach # 2:

function funcOne() {
// some javascript
setInterval("funcTwo()", 1000*60*2);
};

function funcTwo() {
// some other javascript
};

$(document).ready(function() {
funcOne();
});

2 für die Antwort № 2
function f2(){}
function f1(){
... some code ...
setInterval(f2, 2000*60);
}
//From somewhere in your code, call f1
f1();

SetInterval gibt auch ein Handle zurück, mit dem der weitere Aufruf dieser Funktion abgebrochen werden kann.


0 für die Antwort № 3

Denken Sie daran, dass Sie JQuery verwenden, da es Javascript einfacher macht. JQuery ist eine Javascript-Bibliothek, keine Sprache, was bedeutet, dass Sie Javascript-Funktionen perfekt verwenden können.

Für Ihr Problem müssen Sie mit setTimeout nur Ihre zweite Funktion aufrufen und eine andere in diese Funktion einfügen setTimeout(ms);

So was:

function f1(/*...*/){}
var t = setTimeout("f2()",2 * 60 * 1000);

Und am Ende deiner f2() Funktion Sie sollten einen weiteren setTimeout hinzufügen, um diese Funktion alle 2 Minuten aufzurufen.

function f2(/*...*/){
//...
t = setTimeout("f2()",2 * 60 * 1000);
}

So brechen Sie diese Anrufe ab f2() ist genauso einfach: clearTimeout(t);


0 für die Antwort № 4

Ich würde lieber setTimeout () verwenden. Es wird angenommen, dass der Browser weniger beansprucht und der Prozessor effizienter ist.

Hier sehen Sie, wie Ihre Funktionen aussehen sollen:

function f2(){
t = setTimeout(f2, 2000 * 60);
// code for f2
}

function f1(){
// code for f1
setTimeout(f2, 2000 * 60);
}

Wo immer Sie möchten, dass das Ganze beginnt, rufen Sie die erste Funktion auf:

var t;
f1();

Sie können die Schleife jederzeit stoppen:

clearTimeout(t);

Stellen Sie sicher, dass Sie setTimeout am Anfang von auslösenf2, so dass es alle 2 Minuten genau schießt. Jeder Code vor "setTimeout", dessen Verarbeitung "x" dauert, führt dazu, dass der nächste f2-Anruf nach 2min + x ausgelöst wird.


-2 für die Antwort № 5

Heloo Wenn ich Sie richtig verstanden habe, ist dies eine Lösung

function func1()
{}

function func2()
{}

window.onload = function()
{
func1();

var flag_first_call_is_after_2=0;
var interv = setInterval(
function()
{
if(flag_first_call_is_after_2==0)
{
flag_first_call_is_after_2=1;
}
else
{
func2();
}
}
,120000
);
}