Zwykle ustawiłem interwał na zmienną, a następnie wyczyściłem go, var the_int = setInterval(); clearInterval(the_int);
ale aby mój kod działał, umieściłem go w funkcji anonimowej:
function intervalTrigger() {
setInterval(function() {
if (timedCount >= markers.length) {
timedCount = 0;
}
google.maps.event.trigger(markers[timedCount], "click");
timedCount++;
}, 5000);
};
intervalTrigger();
Jak to wyczyścić? Spróbowałem var test = intervalTrigger(); clearInterval(test);
się upewnić, ale to nie zadziałało.
Zasadniczo potrzebuję tego, aby przestać się uruchamiać po kliknięciu mojej mapy Google, np
google.maps.event.addListener(map, "click", function() {
//stop timer
});
javascript
settimeout
dom-events
Oscar Godson
źródło
źródło
setInterval
działa równie dobrzewindow.setInterval
.źródło
źródło
Najprostszy sposób, jaki mogłem wymyślić: dodaj klasę.
Po prostu dodaj klasę (na dowolnym elemencie) i sprawdź wewnątrz interwału, czy istnieje. Sądzę, że jest to bardziej niezawodne, konfigurowalne i wielojęzyczne niż jakikolwiek inny sposób.
źródło