Jeśli nie obchodzi Cię, czy kod w ciągu timer
może potrwać dłużej niż interwał, użyj setInterval()
:
setInterval(function, delay)
To uruchamia funkcję przekazywaną jako pierwszy parametr w kółko.
Lepszym rozwiązaniem jest użycie setTimeout
wraz z self-executing anonymous
funkcją:
(function(){
// do some stuff
setTimeout(arguments.callee, 60000);
})();
gwarantuje to, że następne wywołanie nie zostanie wykonane przed wykonaniem kodu. Użyłem arguments.callee
w tym przykładzie jako odwołania do funkcji. Jest to lepszy sposób na nadanie funkcji nazwy i wywołanie jej w środku, setTimeout
ponieważ arguments.callee
jest to przestarzałe w ecmascript 5.
clearInterval()
jest funkcją partnerasetInterval()
i przydaje się, jeśli chcesz przerwać okresowe wywoływanie funkcji.Użyj
EDYCJA: (W przypadku, gdy chcesz zatrzymać zegar po jego uruchomieniu)
Sekcja skryptu
i kod HTML
źródło
Lepsze wykorzystanie JANDY „s odpowiedzi do realizacji funkcji odpytywania, który sonduje co
interval
sekund i kończy się potimeout
kilka sekund.AKTUALIZACJA
Zgodnie z komentarzem, aktualizowanie go pod kątem zdolności przekazanej funkcji do zatrzymania odpytywania:
źródło
sendHeartBeat
?interval
itimeout
są w milisekundach, prawda?W jQuery możesz to zrobić w ten sposób.
źródło
// Change Interval here to test. For eg: 5000 for 5 sec
Obecnie zmienia się co 6 sekund. użyj wartości 60000 na minutęto metoda, której szukasz.
źródło
Możesz po prostu wywołać setTimeout na końcu funkcji. Spowoduje to dodanie go ponownie do kolejki zdarzeń. Możesz użyć dowolnego rodzaju logiki do zmiany wartości opóźnienia. Na przykład,
źródło
Zastosowanie
window.setInterval(func, time)
.źródło
źródło
źródło
źródło
tutaj konsolujemy liczbę naturalną od 0 do ...... n (następny numer drukowany w konsoli co 60 sekund), używając setInterval ()
źródło
Istnieją 2 sposoby połączenia-
setInterval(function (){ functionName();}, 60000);
setInterval(functionName, 60000);
powyższa funkcja będzie włączana co 60 sekund.
źródło