JavaScript/WindowOrWorkerGlobalScope/clearTimeout
Aus SELFHTML-Wiki
								
												
				Die auf dem globalen Objekt verfügbare Methode clearTimeout löscht einen mit setTimeout erstellten Timer, analog zu clearInterval.
Syntax
clearTimeout(timeout-ID)
-  timeout-ID: Rückgabewert von setTimeout()
Anwendungsbeispiel
Beispiel
ansehen …
  var elem = document.getElementById('los');
  elem.addEventListener('click', startCountdown);	
  
  var elem = document.getElementById('stop');
  elem.addEventListener('click', stopCountdown);	
  function startCountdown () {
    countdown(10, 'counter');
    EnableCancelButton (true);
  }
  function stopCountdown() {
    var element = document.getElementById('counter');
    clearTimeout(element.timerId);
    EnableCancelButton(false);
  }
  function EnableCancelButton(enable) {
    var cancelButton = document.getElementById ("stop");
	cancelButton.disabled = !enable;
  }
        
  function leadingzero(number) {
    return (number < 10) ? '0' + number : number;
  }
  function countdown(seconds, target) {
    var element = document.getElementById(target);
    element.seconds = seconds;
    calculateAndShow(target);
  }
  function calculateAndShow(target) {
    var element = document.getElementById(target);
    if (element.seconds >= 0) {
        element.timerId = window.setTimeout(calculateAndShow,1000,target);
        var h = Math.floor(element.seconds / 3600);
        var m = Math.floor((element.seconds % 3600) / 60);
        var s = element.seconds % 60;
        element.innerHTML=
          leadingzero(h) + ':' +
          leadingzero(m) + ':' +
          leadingzero(s);
        element.seconds--;
    } else {
        completed(target);
        return false;
    }
  }
  function completed(target) {
    var element = document.getElementById(target);
    element.innerHTML = "<strong>Liftoff!<\/strong>";
  }
Es wird mit setTimeout()  ein Countdown gestartet, der mit einem Klick auf den Stop-Button mittels clearTimeout() unterbrochen wird.
Weblinks
- W3C: cleartimeout
- MDN: Window.clearTimeout

