javascript實(shí)現(xiàn)一款好看的秒表計(jì)時(shí)器
本文實(shí)例為大家分享了javascript實(shí)現(xiàn)秒表計(jì)時(shí)的具體代碼,供大家參考,具體內(nèi)容如下
實(shí)現(xiàn)圖片:
分+秒+跑秒

時(shí)+分+秒+跑秒

需求分析:
1、顯示整個(gè)秒表頁(yè)面;
2、在點(diǎn)擊“開(kāi)始”按鈕之后,開(kāi)始計(jì)時(shí),并將按鈕轉(zhuǎn)為“暫?!卑粹o,在點(diǎn)擊“暫?!卑粹o之后,將按鈕轉(zhuǎn)為“開(kāi)始”按鈕,并停止計(jì)時(shí);
3、在點(diǎn)擊“復(fù)位”按鈕之后,將顯示的計(jì)時(shí)清零,并將按鈕變回“開(kāi)始”按鈕。
頁(yè)面結(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> <!-- 顯示:時(shí):分:秒 跑秒 ,“時(shí)”解除注釋可使用 --> <button id="btn1">開(kāi)始</button> <button id="reset">復(fù)位</button> </div> </div>
頁(yè)面的主體結(jié)構(gòu)主要包括四個(gè)span,包含四個(gè)秒表上顯示的時(shí)間;以及兩個(gè)按鈕:“開(kāi)始/暫停”與“復(fù)位”按鈕。
一些函數(shù):
id節(jié)點(diǎn)調(diào)用函數(shù)
function jieDian(id){
return document.getElementById(id);
}
通過(guò)調(diào)用此函數(shù)可以簡(jiǎn)化頁(yè)面代碼
開(kāi)始運(yùn)行函數(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)
}
//開(kāi)始運(yùn)行函數(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í)分秒顯示為個(gè)位數(shù)時(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>
<!-- 顯示:時(shí):分:秒 跑秒 ,“時(shí)”解除注釋可使用 -->
<button id="btn1">開(kāi)始</button>
<button id="reset">復(fù)位</button>
</div>
</div>
<script>
var i = 0;
var timer1=null;
var isRunning =false;
//isRunning用于判斷當(dāng)前是否正在運(yùn)行
function jieDian(id){
return document.getElementById(id);
}
//id節(jié)點(diǎn)調(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)
}
//開(kāi)始運(yùn)行函數(shù)
function pasueBtn(){
clearInterval(timer1)
}
//暫停函數(shù)
jieDian("btn1").onclick = function(){
if(!isRunning){
jieDian("btn1").innerHTML = "暫停";
isRunning = true;
startBtn();
}else{
jieDian("btn1").innerHTML="開(kāi)始";
isRunning = false;
pasueBtn();
}
}
//“開(kāi)始”與“暫?!秉c(diǎn)擊按鈕:
//當(dāng)按鈕顯示為“開(kāi)始”,點(diǎn)擊之后,將按鈕轉(zhuǎn)為“暫停”按鈕,并觸發(fā)相應(yīng)條件;
//當(dāng)按鈕顯示為“暫?!?,點(diǎn)擊之后,將按鈕轉(zhuǎn)為“開(kāi)始”按鈕,并觸發(fā)相應(yīng)條件。
jieDian("reset").onclick =function(){
clearInterval(timer1)
i = 0;
isRunning = false;
jieDian("btn1").innerHTML="開(kāi)始";
jieDian("msecond").innerHTML ="00";
jieDian("second").innerHTML ="00";
jieDian("minute").innerHTML ="00";
jieDian("houer").innerHTML ="00";
}
//復(fù)位按鈕,點(diǎn)擊之后將秒表各值復(fù)位,并“暫?!泵氡?
function doubleLing(i){
if(i<10){
return "0"+i
}else{
return i
}
}
//賦0函數(shù),當(dāng)時(shí)分秒顯示為個(gè)位數(shù)時(shí),在前面加上“0”
</script>
</body>
</html>
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
基于JavaScript實(shí)現(xiàn)移除(刪除)數(shù)組中指定元素
在Array對(duì)象中有給定的函數(shù)可以刪除數(shù)組中指定的元素,雖然非常好用,但是總感覺(jué)看不到摸不著的比較別扭,下面就分享一個(gè)自定義的刪除數(shù)組指定索引值元素的函數(shù),希望給大家一個(gè)全新的思路2016-01-01
用JavaScript和jQuery實(shí)現(xiàn)瀑布流
本篇文章主要介紹了用JavaScript和jQuery實(shí)現(xiàn)瀑布流的方法,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧2017-03-03
JS Generator函數(shù)yield表達(dá)式示例詳解
這篇文章主要為大家介紹了JS Generator函數(shù)yield表達(dá)式示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-10-10
JavaScript移除數(shù)組內(nèi)重復(fù)元素的方法
這篇文章主要介紹了JavaScript移除數(shù)組內(nèi)重復(fù)元素的方法,實(shí)例分析了javascript遍歷數(shù)組及刪除等操作的相關(guān)技巧,需要的朋友可以參考下2015-03-03
純js寫(xiě)的分頁(yè)表格數(shù)據(jù)為json串
這篇文章主要介紹了純js寫(xiě)的分頁(yè),表格數(shù)據(jù)為json串,需要的朋友可以參考下2014-02-02
JS創(chuàng)建自定義表格具體實(shí)現(xiàn)
創(chuàng)建自定義表格的方法有很多,本文為大家介紹下使用js是如何創(chuàng)建的,感興趣的朋友可以參考下2014-02-02
Echarts?graph關(guān)系圖的使用入門級(jí)教程
近期需要使用echarts關(guān)系圖,這里給大家總結(jié)下,這篇文章主要給大家介紹了關(guān)于Echarts?graph關(guān)系圖使用的相關(guān)資料,文中給出了詳細(xì)的代碼介紹,需要的朋友可以參考下2024-01-01
微信小程序開(kāi)發(fā)之實(shí)現(xiàn)記賬本
這篇文章主要為大家詳細(xì)介紹了如何通過(guò)微信小程序開(kāi)發(fā)一個(gè)簡(jiǎn)單的記賬本,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以和小編一起學(xué)習(xí)一下2023-01-01
原創(chuàng)javascript小游戲?qū)崿F(xiàn)代碼
javascript小游戲?qū)崿F(xiàn)代碼,喜歡用javascript實(shí)現(xiàn)游戲效果代碼的朋友可以參考下。2010-08-08

