Używam JavaScript z jQuery. Mam następujący skrypt do ostrzeżenia hi
co 30 sekund.JavaScript - interwał jQuery
$(document).ready(function() {
alert("hi");
setInterval(function() {
alert("hi");
}, 30000);
});
Chcę ostrzec hi
po załadowaniu strony (gdy dokument/strona dostaje całkowicie załadowany) i na każdym odstępie 30 sekund później (jak hi
(0s) - hi
(30s) - hi
(60s) .. itp). Ale moje rozwiązanie działa na dwóch instancjach. Jeden na DOM gotowy, a drugi w pętli. Czy jest jakiś sposób, aby zrobić to samo w jednym przypadku?
Możesz zobaczyć moje skrzypce here.
Na czym polega problem? Twój jsFiddle ostrzega początkowo, a następnie co 30 sekund dokładnie tak, jak określa kod. setInterval nie wywołuje swojej funkcji, dopóki nie upłynie czas. Jeśli chcesz, aby był wykonywany na początku, po prostu wywołaj go tak, jak zrobiłeś. Jeśli jest to bardziej skomplikowana logika, którą chcesz wywołać w obu miejscach, po prostu umieść ją w nazwanej funkcji, którą możesz wywołać w obu miejscach. – jfriend00