JavaScript時鐘與定時器
阿新 • • 發佈:2019-01-06
1.時鐘
例子:時鐘
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>clock</title>
<script type="text/javascript">
window.onload = function(){ function fnRunning(){ var oDiv = document.getElementById('div1'); var sNow = new Date(); /*當前時間*/ var iYear = sNow.getFullYear(); /*年*/ var iMonth = sNow.getMonth()+1; /*月*/ var iDate = sNow.getDate(); /*日*/ var iWeek = sNow.getDay(); var iHour = sNow.getHours(); /*時*/ var iMinute = sNow.getMinutes();/*分*/ var iSecond = sNow.getSeconds(); /*秒*/ var sAdate = iDate + '-' + iMonth + '-' + iYear + ' ' + fnWeek(iWeek) + ' ' + fnClock(iHour) + ':' + fnClock(iMinute) + ':' + fnClock(iSecond); /*alert(sAdate);*/ oDiv.innerHTML = '當前時間:' + sAdate; } function fnWeek(n){ switch(n){ case 0: return '星期日'; break; case 1: return '星期一'; break; case 2: return '星期二'; break; case 3: return '星期三'; break; case 4: return '星期四'; break; case 5: return '星期五'; break; case 6: return '星期六'; break; } } function fnClock(n){ /*給時分秒補零*/ if(n<10){ return '0'+n; } else{ return n; } } fnRunning(); /*setInterval執行要一秒,在呼叫前先執行fnRunning*/ setInterval(fnRunning,1000); } </script>
<style type="text/css">
div{
text-align: center;
font-size: 50px;
background-color: antiquewhite;
}
</style>
</head>
<body>
<div id="div1"></div>
</body>
</html>
例子二:倒計時
<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>倒計時</title>
<script type="text/javascript">
window.onload = function(){ function down(){ var oDiv = document.getElementById('div1'); /*實際開發中需要讀取後臺資料的時間,可以通過ajax來讀取*/ var sNow = new Date(); /*alert(sNow);*/ /*未來時間,月份是0-11表示一到十二月*/ var sFuture = new Date(2019,0,6,15,0,0); /*計算多少秒*/ var sLast = parseInt((sFuture-sNow)/1000); /*alert(sLast);單位s*/ var iDay = parseInt(sLast/86400); /*alert(iDay);日*/ var iHour = parseInt((sLast%86400)/3600); /*alert(iHour);時*/ var iMinutes = parseInt((sLast%86400)%3600/60); /*alert(iMinutes);分*/ var iSecond = sLast%60; /*alert(iSecond);秒*/ var sTr = '距離今天下午15:00還剩: ' + add(iDay) + '天' + add(iHour) + '時' + add(iMinutes) + '分' + add(iSecond) + '秒'; oDiv.innerHTML = sTr; } function add(n){ /*補零函式*/ if(n<10){ return '0'+n; } else{ return n; } } down(); /*setIterval執行需要大概一秒,先執行一遍down*/ setInterval(down,1000); } </script>
<style type="text/css">
div{
text-align: center;
font-size: 40px;
background-color: beige;
}
</style>
</head>
<body>
<div id="div1"></div>
</body>
</html>
2.定時器
setTimeout(函式名,時間) 只執行一次的定時器
注:
第一個可以寫函式名也可以寫匿名函式,時間單位是毫秒,不寫單位。
clearTimeout 關閉只執行一次的定時器
如:
var iRan = setTimeout(fake,1000);
clearTimeout(iRan);
setInterval 反覆執行的定時器
clearInterva 關閉反覆執行的定時器