JS set Interval()/setTimeout()——ダイナミックタイムを実現し、カウントダウン
25706 ワード
一、ダイナミックタイム
1.set Interval()の実現
html部分:
現在時間を取得し、転送によって終了時間を取得し、それぞれGMT時間を取得し、GMT時間差を計算し、出張値に対応する時、分、秒などを計算します.
1.set Interval()の実現
html部分:
<head>
<meta charset="UTF-8">
<title>Documenttitle>
<style>
div{
width: 300px;
height: 50px;
color: orange;
line-height: 50px;
text-align: center;
font-size:20px;
border:1px solid #888;
margin:10px auto
}
style>
head>
<body>
<div id="box"> div>
body>
JS部分:先に年月日、時分秒を取得して、更に0を補って、最後にダイナミックに時間を表示します.function showTime(){
// 1.
var date = new Date();
// 2. 、
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
// 3. 10 0
/* if(hour<10){
hour = '0' + hour;
}
if(minute<10){
minute = '0' + minute;
}
if(second<10){
second = '0' + second;
}*/
//
month=addZero(month);
day=addZero(day);
hour=addZero(hour);
minute=addZero(minute);
second=addZero(second);
// 4. ( , , , )
var time = year + ' ' + month + ' ' + day + ' ' + hour + ':' + minute + ':' + second;
document.getElementById('box').innerHTML = time;
}
// 0
function addZero(num){
if(num<10){
num='0'+num;
}
return num;
}
//
showTime(); // : ,
setInterval(showTime,1000); // 1s ( 1s)
2.setTimeout()実装function getTime(){
var date = new Date();
var year = date.getFullYear();
var month = date.getMonth() + 1;
var day = date.getDate();
var hour = date.getHours();
var minute = date.getMinutes();
var second = date.getSeconds();
//
month=addZero(month);
day=addZero(day);
hour=addZero(hour);
minute=addZero(minute);
second=addZero(second);
var time = year + ' ' + month + ' ' + day + ' ' + hour + ':' + minute + ':' + second;
document.getElementById('box').innerHTML = time;
setTimeout(getTime,1000);
}
// 0
function addZero(num){
if(num<10){
num='0'+num;
}
return num;
}
getTime(); // , !!
二、カウントダウン現在時間を取得し、転送によって終了時間を取得し、それぞれGMT時間を取得し、GMT時間差を計算し、出張値に対応する時、分、秒などを計算します.
function showTime(){
var date = new Date(); //
var now = date.getTime(); // GMT
//dateObject.getTime(),dateObject 1970 1 1 (GMT ) 。
var endDate = new Date("2019-1-9 00:00:00"); //
var end = endDate.getTime(); // GMT
var diffTime = end - now; //
console.log(diffTime);
var d,h,m,s,ms;
if(diffTime>=0){
ms = Math.floor(diffTime % 1000);
console.log(ms);
s = Math.floor(diffTime / 1000 % 60);
m = Math.floor(diffTime / 1000 / 60 % 60);
h = Math.floor(diffTime / 1000 / 60 / 60 % 24);
d = Math.floor(diffTime / 1000 / 60 / 60 / 24);
//
d=addZero(d);
h=addZero(h);
m=addZero(m);
s=addZero(s);
if(ms<100){
ms = '0' + ms;
if(ms<10){
ms = '00' + ms;
}
}
var time = d + ' ' + h + ' ' + m + ' ' + s + ' ' + ms + ' ';
document.getElementById('box').innerHTML = time;
}else{
alert(" !!");
}
}
// 0
function addZero(num){
if(num<10){
num='0'+num;
}
return num;
}
showTime();
setInterval(showTime,1000);
これを見ました.かっこいい三連打をしてください.いいね、コレクション、メッセージ.