javascript實現(xiàn)一款好看的秒表計時器
本文實例為大家分享了javascript實現(xiàn)秒表計時的具體代碼,供大家參考,具體內(nèi)容如下
實現(xiàn)圖片:
分+秒+跑秒
時+分+秒+跑秒
需求分析:
1、顯示整個秒表頁面;
2、在點擊“開始”按鈕之后,開始計時,并將按鈕轉(zhuǎn)為“暫停”按鈕,在點擊“暫?!卑粹o之后,將按鈕轉(zhuǎn)為“開始”按鈕,并停止計時;
3、在點擊“復(fù)位”按鈕之后,將顯示的計時清零,并將按鈕變回“開始”按鈕。
頁面結(jié)構(gòu):
<div id="miaoBiao"> <div id="dingShi"> <p> <!-- <span id="houer">00</span> : --> <span id="minute">00</span> : <span id="second">00</span>  <span id="msecond">00</span> </p> <!-- 顯示:時:分:秒 跑秒 ,“時”解除注釋可使用 --> <button id="btn1">開始</button> <button id="reset">復(fù)位</button> </div> </div>
頁面的主體結(jié)構(gòu)主要包括四個span,包含四個秒表上顯示的時間;以及兩個按鈕:“開始/暫?!迸c“復(fù)位”按鈕。
一些函數(shù):
id節(jié)點調(diào)用函數(shù)
function jieDian(id){ return document.getElementById(id); }
通過調(diào)用此函數(shù)可以簡化頁面代碼
開始運行函數(shù)
function startBtn(){ timer1=setInterval(function(){ i++ jieDian("msecond").innerHTML =doubleLing(i%100); jieDian("second").innerHTML =doubleLing(parseInt(i/100)%60) ; jieDian("minute").innerHTML =doubleLing(parseInt(i/6000)%60) ; jieDian("houer").innerHTML =doubleLing(parseInt(i/360000)) ; },10) } //開始運行函數(shù)
暫停函數(shù)
function pasueBtn(){ clearInterval(timer1) }
賦0函數(shù)
function doubleLing(i){ if(i<10){ return "0"+i }else{ return i } } //賦0函數(shù),當(dāng)時分秒顯示為個位數(shù)時,在前面加上“0”
完整代碼,復(fù)制可用:
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> #miaoBiao{ width: 550px;height: 450px;background-color: #1d262d;overflow: hidden; margin: 50px auto;border-radius: 150px; } #dingShi{ width: 400px;height: 230px;background-color:#d0eaeb;text-align: center; padding-top: 0px;margin: 110px auto;border-radius: 40px; } #dingShi p{ font-size: 40px;padding-top: 40px; } #minute,#second,#houer{ font-size: 56px; } #dingShi button{ width: 80px;height: 35px;background-color: orange;margin: 10px auto; line-height: 35px;font-weight: bold;margin: 0px 20px; } </style> </head> <body> <div id="miaoBiao"> <div id="dingShi"> <p> <span id="houer">00</span> : <span id="minute">00</span> : <span id="second">00</span>  <span id="msecond">00</span> </p> <!-- 顯示:時:分:秒 跑秒 ,“時”解除注釋可使用 --> <button id="btn1">開始</button> <button id="reset">復(fù)位</button> </div> </div> <script> var i = 0; var timer1=null; var isRunning =false; //isRunning用于判斷當(dāng)前是否正在運行 function jieDian(id){ return document.getElementById(id); } //id節(jié)點調(diào)用函數(shù) function startBtn(){ timer1=setInterval(function(){ i++ jieDian("msecond").innerHTML =doubleLing(i%100); jieDian("second").innerHTML =doubleLing(parseInt(i/100)%60) ; jieDian("minute").innerHTML =doubleLing(parseInt(i/6000)%60) ; jieDian("houer").innerHTML =doubleLing(parseInt(i/360000)) ; },10) } //開始運行函數(shù) function pasueBtn(){ clearInterval(timer1) } //暫停函數(shù) jieDian("btn1").onclick = function(){ if(!isRunning){ jieDian("btn1").innerHTML = "暫停"; isRunning = true; startBtn(); }else{ jieDian("btn1").innerHTML="開始"; isRunning = false; pasueBtn(); } } //“開始”與“暫?!秉c擊按鈕: //當(dāng)按鈕顯示為“開始”,點擊之后,將按鈕轉(zhuǎn)為“暫?!卑粹o,并觸發(fā)相應(yīng)條件; //當(dāng)按鈕顯示為“暫停”,點擊之后,將按鈕轉(zhuǎn)為“開始”按鈕,并觸發(fā)相應(yīng)條件。 jieDian("reset").onclick =function(){ clearInterval(timer1) i = 0; isRunning = false; jieDian("btn1").innerHTML="開始"; jieDian("msecond").innerHTML ="00"; jieDian("second").innerHTML ="00"; jieDian("minute").innerHTML ="00"; jieDian("houer").innerHTML ="00"; } //復(fù)位按鈕,點擊之后將秒表各值復(fù)位,并“暫?!泵氡? function doubleLing(i){ if(i<10){ return "0"+i }else{ return i } } //賦0函數(shù),當(dāng)時分秒顯示為個位數(shù)時,在前面加上“0” </script> </body> </html>
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
JS實現(xiàn)移動端實時監(jiān)聽輸入框變化的實例代碼
這篇文章主要介紹了JS實現(xiàn)移動端實時監(jiān)聽輸入框變化的解決方案,需要的朋友可以參考下2017-04-04基于JavaScript實現(xiàn)單選框下拉菜單添加文件效果
這篇文章主要介紹了基于JavaScript實現(xiàn)單選框下拉菜單添加文件效果的相關(guān)資料,非常不錯,具有參考借鑒價值,需要的朋友可以參考下2016-06-06IE6、IE7、Firefox javascript 無提示關(guān)閉窗口的代碼
2009-03-03