Objek masa (Tarikh()) agak mudah. Artikel ini bertujuan untuk pemula untuk memulakannya.
Artikel ini menjalankan contoh pengetahuan asas dan membincangkan keperluan contoh:
Output masa klien semasa pada halaman (dalam format 10:10:10 pada hari Isnin, 1 Januari 2015 Halaman tidak dimuat semula setiap saat, tetapi masa dikemas kini secara automatik (menggunakan dua kaedah pemasa boleh). dicapai), masa klik tetikus, jika pergerakan asal dihentikan, jika ia dihentikan, pergerakan diteruskan
Keperluan pada dasarnya boleh dibahagikan kepada 2 bahagian: satu ialah mengemas kini masa secara automatik tanpa menyegarkan, dan satu lagi ialah mengklik pada masa untuk berhenti atau mengemas kini masa
Baiklah, mari ikut peraturan lama, langkah demi langkah Memandangkan sudah tiba masanya, kita akan menggunakan objek masa 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() };
Saya memperoleh objek masa dalam bentuk objek, yang mudah dipanggil dan mempunyai struktur yang jelas Ia tidak perlu ditakrifkan satu persatu dapatkan nilai yang sepadan, seperti mendapatkan tahun: masa;
Setelah mendapat data yang perlu kami dapatkan, kami perlu menangani masalah hari dalam seminggu, kerana nilai hari dalam seminggu yang diperoleh sekarang masih 1,2,3,4,5,6,7 . Di sini kita perlu menukarnya dan menukarnya kepada Untuk maklumat teks yang boleh kita lihat, di sini kita membungkusnya dengan fungsi:
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; }; }
Di sini saya menggunakan kombinasi kes swicth. Syarat penghakiman ini amat sesuai untuk membuat penghakiman yang serupa dengan hari dalam seminggu. Sudah tentu, anda juga boleh menggunakan kombinasi if else untuk menilai , bergantung pada tabiat peribadi anda Terdapat masalah yang perlu diselesaikan Apabila minit dan saat yang diperoleh adalah antara 0 dan 9, nombor dari 0 hingga 9 dipaparkan
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>
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); }