In den obigen Antworten wurde bereits erläutert, wie setInterval ein Handle zurückgibt und wie dieses Handle zum Abbrechen des Intervall-Timers verwendet wird.
Einige architektonische Überlegungen:
Bitte verwenden Sie keine "scope-less" Variablen. Der sicherste Weg ist, das Attribut eines DOM-Objekts zu verwenden. Der einfachste Ort wäre "document". Wenn der Refresher über eine Start/Stop-Schaltfläche gestartet wird, können Sie die Schaltfläche selbst verwenden:
<a onclick="start(this);">Start</a>
<script>
function start(d){
if (d.interval){
clearInterval(d.interval);
d.innerHTML='Start';
} else {
d.interval=setInterval(function(){
//refresh here
},10000);
d.innerHTML='Stop';
}
}
</script>
Da die Funktion innerhalb des Button-Click-Handlers definiert ist, müssen Sie sie nicht erneut definieren. Der Timer kann wieder aufgenommen werden, wenn die Schaltfläche erneut angeklickt wird.