JavaScript Timer hochzählen

Mehvish Ashiq 12 Oktober 2023
  1. Verwenden Sie die Funktionen setInterval() und Math, um den JavaScript-Count-Up-Timer anzuzeigen
  2. Verwenden Sie die Funktionen setInterval() und pad(), um den JavaScript-Count-Up-Timer anzuzeigen
  3. Verwenden Sie jQuery, um den JavaScript-Count-Up-Timer anzuzeigen
  4. Verwenden Sie Objekt und Eigenschaften, um den JavaScript-Count-Up-Timer anzuzeigen
JavaScript Timer hochzählen

Dieses Tutorial führt Sie in den JavaScript-Count-up-Timer ein. Es verwendet die Funktionen und Objekte setInterval(), pad(), clearInterval() und Math.floor(), um einen Count-up-Timer zu erstellen.

Es zeigt auch, wie jQuery Ihnen helfen kann, Ihren Code zu optimieren.

Verwenden Sie die Funktionen setInterval() und Math, um den JavaScript-Count-Up-Timer anzuzeigen

HTML Quelltext:

<!DOCTYPE html>
<html>
  <head>
    <title>Count Up Timer in JavaScript</title>
  </head>
  <body>
      <div id="count_up_timer">00:00:00</div>
      <button id="stop_count_up_timer" onclick="clearInterval(timerVariable)">Stop Time</button>
  </body>
</html>

CSS-Code:

#count_up_timer{
	font-size: 100px;
	font-weight: bold;
	color: darkblue;
}
#stop_count_up_timer{
	background-color:black;
	color:white
}

JavaScript-Code:

var timerVariable = setInterval(countUpTimer, 1000);
var totalSeconds = 0;

function countUpTimer() {
  ++totalSeconds;
  var hour = Math.floor(totalSeconds / 3600);
  var minute = Math.floor((totalSeconds - hour * 3600) / 60);
  var seconds = totalSeconds - (hour * 3600 + minute * 60);
  document.getElementById('count_up_timer').innerHTML =
      hour + ':' + minute + ':' + seconds;
}

Ausgabe:

Javascript-Count-Up-Timer - Teil eins ausgeben

In diesem Codebeispiel ruft die Funktion setInterval() jede Sekunde (1 Sekunde = 1000 Millisekunden) die Funktion countUpTimer() auf. In der Funktion countUpTimer() wird die Variable totalSeconds zuerst um 1 erhöht und dann zur Umrechnung in Stunde, minute und Sekunde verwendet.

Danach wird das erste Element ausgewählt, dessen ID-Wert count_up_timer ist. Der HTML-Inhalt (innerHTML) wurde durch den Timer (Stunde:Minute:Sekunde) ersetzt. Der Count-up-Timer stoppt, sobald Sie auf die Schaltfläche Stop Timer klicken.

Die Funktion setInterval() ruft eine Funktion in einem bestimmten Intervall auf. Es braucht zwei Parameter, und beide sind erforderlich. Der erste Parameter ist eine Funktion, der andere ein Intervall in Millisekunden.

Die Methode setInterval() ruft die Funktion jedoch weiterhin auf, bis das Fenster geschlossen oder die Funktion clearInterval() aufgerufen wird. Es gibt die id der Zeit zurück, die wir mit der Funktion clearInterval() verwenden können, um den Timer zu stoppen.

Die Eigenschaft .innerHTML gibt den HTML-Inhalt des angegebenen Elements zurück oder ändert ihn. Math.floor() gibt die größte Ganzzahl zurück (kleiner oder gleich der angegebenen Zahl).

Verwenden Sie die Funktionen setInterval() und pad(), um den JavaScript-Count-Up-Timer anzuzeigen

HTML Quelltext:

<!DOCTYPE html>
<html>
  <head>
    <title>Count Up Timer in JavaScript</title>
  </head>
  <body>
    <h1>Count Up Timer For One Hour</h1>
	<div id = "timer">
	   <span id="minutes"></span>:<span id="seconds"></span>
	</div>
   </body>
</html>

CSS-Code:

#timer{
	font-size:100px;
	color:green;
	margin-left:80px;
}

JavaScript-Code:

var second = 0;
function pad(value) {
  return value > 9 ? value : '0' + value;
}
setInterval(function() {
  document.getElementById('seconds').innerHTML = pad(++second % 60);
  document.getElementById('minutes').innerHTML = pad(parseInt(second / 60, 10));
}, 1000);

Ausgabe:

Javascript Count Up Timer - Teil zwei ausgeben

In diesem Beispielcode fügt die Funktion pad() eine führende Null hinzu. Es prüft, ob der ihm übergebene Wert eine einzelne Ziffer ist (kleiner oder gleich 9), dann fügt es eine führende Null hinzu, andernfalls nicht.

Die Funktion setInterval() ruft die angegebene Funktion in einem bestimmten Intervall auf. Das Intervall muss in Millisekunden angegeben werden. Sie können diesen Link besuchen, um ihn zu lesen.

Dann ruft setInterval() eine anonyme Funktion auf, um die Elemente abzurufen, deren ID-Werte Sekunden und Minuten sind. Diese anonyme Funktion ersetzt innerHTML(HTML-Inhalt) durch den Wert, der von der Funktion pad() zurückgegeben wird.

Die Funktion parseInt() parst das angegebene String-Argument und gibt eine ganze Zahl mit einem bestimmten Radix zurück.

Verwenden Sie jQuery, um den JavaScript-Count-Up-Timer anzuzeigen

HTML Quelltext:

<!DOCTYPE html>
<html>
  <head>
    <title>Count Up Timer in JavaScript</title>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
  </head>
  <body>
    <h1>Count Up Timer For One Hour</h1>
	<div id = "timer">
	   <span id="minutes"></span>:<span id="seconds"></span>
	</div>
   </body>
</html>

CSS-Code:

#timer{
	font-size:100px;
	color:green;
	margin-left:80px;
}

JavaScript-Code:

var second = 0;
function pad(value) {
  return value > 9 ? value : '0' + value;
}
setInterval(function() {
  $('#seconds').html(pad(++second % 60));
  $('#minutes').html(pad(parseInt(second / 60, 10)));
}, 1000);

Ausgabe:

Javascript-Count-up-Timer - Ausgabe fünf

Was ist, wenn Sie eine führende Null wünschen, aber die Funktion pad() und die jQuery-Bibliothek nicht verwenden möchten. Dann ist die folgende Lösung für Sie.

HTML Quelltext:

<!DOCTYPE html>
<html>
  <head>
    <title>Count Up Timer in JavaScript</title>
  </head>
  <body>
      <div id="count_up_timer">00:00:00</div>
      <button id="stop_count_up_timer" onclick="clearInterval(timerVariable)">Stop Time</button>
  </body>
</html>

CSS-Code:

#count_up_timer{
	font-size: 100px;
	font-weight: bold;
	color: darkblue;
}
#stop_count_up_timer{
	background-color:black;
	color:white
}

JavaScript-Code:

var timerVariable = setInterval(countUpTimer, 1000);
var totalSeconds = 0;

function countUpTimer() {
  ++totalSeconds;
  var hour = Math.floor(totalSeconds / 3600);
  var minute = Math.floor((totalSeconds - hour * 3600) / 60);
  var seconds = totalSeconds - (hour * 3600 + minute * 60);
  if (hour < 10) hour = '0' + hour;
  if (minute < 10) minute = '0' + minute;
  if (seconds < 10) seconds = '0' + seconds;
  document.getElementById('count_up_timer').innerHTML =
      hour + ':' + minute + ':' + seconds;
}

Ausgabe:

Javascript Count Up Timer - Ausgabe Teil drei

Im obigen Code werden if-Anweisungen verwendet, um hour, minute und minutes zu prüfen. Eine führende Null wird hinzugefügt, wenn sie kleiner als 10 sind (d. h. sie sind einstellig); ansonsten nicht.

Sie haben vielleicht bemerkt, dass alle Count-up-Timer, die wir gelernt haben, starten, sobald der Code ausgeführt wird. Was wäre, wenn wir die volle Kontrolle über den JavaScript-Zähler haben könnten? Lasst uns das auch lernen.

Verwenden Sie Objekt und Eigenschaften, um den JavaScript-Count-Up-Timer anzuzeigen

HTML Quelltext:

<!DOCTYPE html>
<html>
  <head>
    <title>Count Up Timer in JavaScript</title>
  </head>
  <body>
    <div id="timer">
      <span id="minutes">00</span>:<span id="seconds">00</span>
    </div>
    <div id="control">
      <button id="startbtn">START</button>
      <button id="pausebtn">PAUSE</button>
      <button id="resumebtn">RESUME</button>
      <button id="resetbtn">RESET</button>
    </div>
  </body>
</html>

CSS-Code:

#timer{
	font-size: 100px;
	font-weight: bold;
}
#control>#startbtn{
	background-color:green;
	color:white;
}
#control>#pausebtn{
	background-color:blue;
	color:white;
}
#control>#resumebtn{
	background-color:orange;
	color:white;
}
#control>#resetbtn{
	background-color:red;
	color:white;
}

JavaScript-Code:

var Clock = {
  totalSeconds: 0,
  startTimer: function() {
    if (!this.interval) {
      var self = this;
      function pad(val) {
        return val > 9 ? val : '0' + val;
      }
      this.interval = setInterval(function() {
        self.totalSeconds += 1;
        document.getElementById('minutes').innerHTML =
            pad(Math.floor(self.totalSeconds / 60 % 60));
        document.getElementById('seconds').innerHTML =
            pad(parseInt(self.totalSeconds % 60));
      }, 1000);
    }
  },
  resetTimer: function() {
    Clock.totalSeconds = null;
    clearInterval(this.interval);
    document.getElementById('minutes').innerHTML = '00';
    document.getElementById('seconds').innerHTML = '00';
    delete this.interval;
  },
  pauseTimer: function() {
    clearInterval(this.interval);
    delete this.interval;
  },
  resumeTimer: function() {
    this.startTimer();
  },
};

document.getElementById('startbtn').addEventListener('click', function() {
  Clock.startTimer();
});
document.getElementById('pausebtn').addEventListener('click', function() {
  Clock.pauseTimer();
});
document.getElementById('resumebtn').addEventListener('click', function() {
  Clock.resumeTimer();
});
document.getElementById('resetbtn').addEventListener('click', function() {
  Clock.resetTimer();
});

Ausgabe:

Javascript-Count-Up-Timer - Ausgabe Teil vier

Hier haben wir ein Objekt namens Clock mit 5 Eigenschaften namens totalSeconds, startTimer, resetTimer, pauseTimer und resumeTimer erstellt. Der Wert jeder Eigenschaft ist eine anonyme Funktion mit eigenem Funktionsrumpf.

Das Schlüsselwort this bezieht sich auf ein Objekt, zu dem es gehört, und enthält immer die Referenz für ein Objekt.

Zum Beispiel bedeutet this.resumeTimer die resumeTimer-Eigenschaft des this (Clock)-Objekts.

Die Funktion clearInterval() wird verwendet, um den Count-up-Timer zu stoppen. Denken Sie daran, dass jede Eigenschaft des Clock-Objekts auf das Click-Ereignis wirkt.

Mehvish Ashiq avatar Mehvish Ashiq avatar

Mehvish Ashiq is a former Java Programmer and a Data Science enthusiast who leverages her expertise to help others to learn and grow by creating interesting, useful, and reader-friendly content in Computer Programming, Data Science, and Technology.

LinkedIn GitHub Facebook

Verwandter Artikel - JavaScript Timer