Normalmente, eu definia o intervalo como uma variável e depois limpava-o como var the_int = setInterval(); clearInterval(the_int);
mas, para o meu código funcionar, coloquei-o em uma função anônima:
function intervalTrigger() {
setInterval(function() {
if (timedCount >= markers.length) {
timedCount = 0;
}
google.maps.event.trigger(markers[timedCount], "click");
timedCount++;
}, 5000);
};
intervalTrigger();
Como eu limpo isso? Eu tentei e tentei var test = intervalTrigger(); clearInterval(test);
ter certeza, mas isso não funcionou.
Basicamente, preciso que isso pare de ser acionado depois que meu Google Map for clicado, por exemplo
google.maps.event.addListener(map, "click", function() {
//stop timer
});
javascript
settimeout
dom-events
Oscar Godson
fonte
fonte
setInterval
funciona tão bem quantowindow.setInterval
.fonte
fonte
A maneira mais simples de pensar: adicione uma classe.
Basta adicionar uma classe (em qualquer elemento) e verificar dentro do intervalo, se houver. Isso é mais confiável, personalizável e em vários idiomas do que qualquer outra maneira, acredito.
fonte