Das Zeitobjekt (Date()) ist relativ einfach für Anfänger. Experten können es überspringen.
In diesem Artikel werden grundlegende Wissensbeispiele behandelt und die Anforderungen der Beispiele erläutert:
Geben Sie die aktuelle Client-Zeit auf der Seite aus (im Format 10:10:10 am Montag, 1. Januar 2015). Die Seite wird nicht jede Sekunde aktualisiert, aber die Zeit wird automatisch aktualisiert (mithilfe von zwei Timer-Methoden). erreicht), Mausklickzeit, wenn die ursprüngliche Bewegung gestoppt wird, wird die Bewegung fortgesetzt
Die Anforderungen lassen sich grundsätzlich in zwei Teile unterteilen: Der eine besteht darin, die Uhrzeit automatisch zu aktualisieren, ohne sie zu aktualisieren, und der andere darin, auf die Uhrzeit zu klicken, um die Uhrzeit anzuhalten oder zu aktualisieren
Okay, folgen wir den alten Regeln Schritt für Schritt. Da es Zeit ist, verwenden wir das Zeitobjekt new Date();
var nowDate = new Date(); var time = { year : nowDate.getFullYear(), month : nowDate.getMonth(), day : nowDate.getDate(), week : nowDate.getDay(), hour : nowDate.getHours(), minute : nowDate.getMinutes(), second : nowDate.getSeconds() };
Ich erhalte das Zeitobjekt in Form eines Objekts, das bequem aufzurufen ist und eine klare Struktur aufweist. Diese Schreibmethode ist auch sehr praktisch Holen Sie sich den entsprechenden Wert, z. B. das Jahr: Jahr;
Nachdem wir die Daten erhalten haben, die wir benötigen, müssen wir uns mit dem Problem des Wochentags befassen, da der jetzt erhaltene Wert des Wochentags immer noch 1,2,3,4,5,6,7 beträgt . Hier müssen wir es konvertieren und in ändern. Für die Textinformationen, die wir sehen können, schließen wir es hier mit einer Funktion ein:
function Week(num){ switch(num){ case 1 : return '星期一'; break; case 2 : return '星期二'; break; case 3 : return '星期三'; break; case 4 : return '星期四'; break; case 5 : return '星期五'; break; case 6 : return '星期六'; break; case 7 : return '星期日'; break; }; }
Hier verwende ich die Swicth-Case-Kombination, um ähnliche Urteile wie den Wochentag zu fällen. Natürlich kann man zur Beurteilung auch die If-else-Kombination verwenden Abhängig von Ihren persönlichen Gewohnheiten besteht ein Problem, das gelöst werden muss, darin, dass die Zahlen von 0 bis 9 angezeigt werden, wenn die erhaltenen Minuten und Sekunden zwischen 0 und 9 liegen
function twoNum(num){ return num = num<10 ? '0'+num : num; }
function twoNum(num){ if(num<10){ num = '0'+num; } return num; }
function Timer(obj){ var nowDate = new Date(); var time = { year : nowDate.getFullYear(), month : nowDate.getMonth(), day : nowDate.getDate(), week : nowDate.getDay(), hour : nowDate.getHours(), minute : nowDate.getMinutes(), second : nowDate.getSeconds() }; function Week(num){ switch(num){ case 1 : return '星期一'; break; case 2 : return '星期二'; break; case 3 : return '星期三'; break; case 4 : return '星期四'; break; case 5 : return '星期五'; break; case 6 : return '星期六'; break; case 7 : return '星期日'; break; }; } function twoNum(num){ return num = num<10 ? '0'+num : num; } obj.innerHTML = time.year+'年'+time.month+'月'+time.day+'日 '+Week(time.week)+' '+time.hour+':'+twoNum(time.minute)+':'+twoNum(time.second); }
<div id="box"></div>
Wir entscheiden uns für die erste:
var oBox = document.getElementById("box"); //获取元素 Timer(oBox); //这里需要先执行一下,因为如果不先执行,定时器会有一个延迟1秒执行,看上去就感觉慢了一秒出来一样 oBox.timer = setInterval(function(){ //oBox.timer这种写法是为了减少外面全局变量对定时器的影响,用元素的自定义属性还可以避免命名冲突 Timer(oBox); },1000);
var offOn = true; oBox.onclick = function(){ if(offOn){ clearInterval(oBox.timer); offOn=false; }else{ oBox.timer = setInterval(function(){ Timer(oBox); },1000); offOn = true; } }
var oBox = document.getElementById("box"); var offOn = true; Timer(oBox); function showTime(){ oBox.timer = setInterval(function(){ Timer(oBox); },1000); } showTime(); oBox.onclick = function(){ offOn ? clearInterval(oBox.timer) : showTime(); offOn=!offOn; } function Timer(obj){ var nowDate = new Date(); var time = { year : nowDate.getFullYear(), month : nowDate.getMonth(), day : nowDate.getDate(), week : nowDate.getDay(), hour : nowDate.getHours(), minute : nowDate.getMinutes(), second : nowDate.getSeconds() }; function Week(num){ switch(num){ case 1 : return '星期一'; break; case 2 : return '星期二'; break; case 3 : return '星期三'; break; case 4 : return '星期四'; break; case 5 : return '星期五'; break; case 6 : return '星期六'; break; case 7 : return '星期日'; break; }; } function twoNum(num){ return num = num<10 ? '0'+num : num; } obj.innerHTML = time.year+'年'+time.month+'月'+time.day+'日 '+Week(time.week)+' '+time.hour+':'+twoNum(time.minute)+':'+twoNum(time.second); }
Glauben Sie, dass es jetzt vorbei ist? sicherlich. . . Nein, wenn es um die Anzeige der Zeit geht, ist dies nur ein Tropfen auf den heißen Stein von Zeitobjektanwendungen, z. B. Gruppenkauf-Websites, z. B. Countdowns für Bestätigungscodes usw. Die heutige Zeit ist jedoch begrenzt. Deshalb werde ich dieses Mal nicht näher auf die Countdown-Funktion eingehen, um einige Anwendungsmethoden für den Countdown zu erläutern , das war's für heute!
Ich werde Ihnen auf der Seite das relevante Wissen über die Ausgabe des aktuellen Clientzeit-Javascript-Beispielcodes vorstellen und hoffe, dass es für alle hilfreich ist!