Mögliche Duplizieren:
JS - How to clear interval after using setInterval()clearInterval() nicht
Ich habe eine Funktion, die die font-family
einem Text wechselt alle 500 ms mit setInterval
(ich es JavaScript gerade gemacht zu üben .) Die Funktion wird aufgerufen, indem auf einen "An" -Button geklickt wird und das Intervall mit einem separaten Button "Aus" gelöscht werden soll. Der "Aus" -Knopf löscht das Intervall jedoch nicht wirklich, es geht einfach weiter. Ich vermute, dass das etwas mit dem Oszilloskop zu tun hat, aber ich bin mir nicht sicher, wie ich es anders schreiben soll. Außerdem möchte ich das nicht mit jQuery machen, denn schließlich mache ich es, um zu lernen.
<body>
<p><span id="go" class="georgia">go</span> Italian</p>
<p>
<button id="on" type="button" value="turn on">turn on</button>
<button id="off" type="button" value="turn off">turn off</button>
</p>
<script>
var text = document.getElementById("go");
var on = document.getElementById("on");
var off = document.getElementById("off");
var fontChange = function() {
switch(text.className) {
case "georgia":
text.className = "arial";
break;
case "arial":
text.className = "courierNew";
break;
case "courierNew":
text.className = "georgia";
break;
}
};
on.onclick = function() {
setInterval(fontChange, 500);
};
off.onclick = function() {
clearInterval(fontChange);
};
</script>
</body>
Erfahren Sie, wie 'clearInterval' funktioniert, indem Sie eine Dokumentation lesen: https://developer.mozilla.org/en-US/docs/DOM/window.clearInterval. –
Ich habe mir zuerst die MDN-Spezifikation angeschaut, aber das hat mir nicht geholfen. –
window.timer = setInterval (fontChange, 500); clearInterval (window.timer) – Samiul