詳解JavaScript的計時器和按鈕效果設置
更新時間:2022年01月07日 15:09:31 作者:楊鑫(青島理工大學)
這篇文章主要為大家介紹了JavaScript的計時器和按鈕效果設置,具有一定的參考價值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
計時器效果:

<div>
<font id='timeCount' style='display:inline-block; font-size:72px;width:100px;text-align:right;'>0</font>
//需要固定時間值的寬度,避免時間值從9變到10(以及從99變到100)時后面三張圖片的位置發(fā)生變化
//但是font是行內(nèi)元素,無法設置寬度,所以把font變?yōu)樾袃?nèi)塊元素display:inline-block
<img src='start.png' class='imgBtn' onclick="start(this)" >
<img src='suspend.png' class='imgBtn' onclick="suspend(this)">
<img src='stop.png' class='imgBtn' onclick="stop(this)">
</div>.imgBtn{
cursor:pointer;
width:25px;
height:25px;
}var timerState=2;//0-start(正在計時) 1-suspend(暫停計時) 2-stop(停止計時)
var timerID;//計時器
//點擊開始按鈕,調(diào)用該函數(shù)
function start(obj){
if(timerState==0) //如果當前狀態(tài)為正在計時,本次點擊不起作用
return;
else
{
timerState=0;//標識 正在計時
changeImgBtnState(); //改變按鈕的顯示效果
timerID=setInterval("f7()",500); //啟動計時器
}
}
function suspend(obj){
if(timerState==1 || timerState==2)
return; //如果當前狀態(tài)為 暫停計時 或 停止計時,本次點擊不起作用
else
{
timerState=1; //標識 暫停計時
changeImgBtnState(); //改變按鈕的顯示效果
clearInterval(timerID); //清除計時器
}
}
function stop(obj){
if(timerState==2) //如果當前狀態(tài)為 停止計時,本次點擊不起作用
return;
if(timerState==0) //如果當前狀態(tài)為正在計時,清除計時器
clearInterval(timerID);
document.getElementById('timeCount').innerHTML=0; //計時數(shù)值清零
timerState=2; //標識 停止計時
changeImgBtnState(); //改變按鈕的顯示效果
}
function f7()
{
var i=document.getElementById('timeCount').innerHTML;
document.getElementById('timeCount').innerHTML=parseInt(i)+1;
}
function changeImgBtnState(){
var imgBtn=document.getElementsByClassName('imgBtn');
for(var i=0;i<3;i++){
imgBtnState(imgBtn[i],timerState!=i);
}
}
function imgBtnState(obj,flag){
if(flag==false) //按鈕不可用
obj.style.cssText="border:1px solid black;width:15px;height:15px;padding:5px;";
else
obj.style.cssText="border:0px solid black;width:25px;height:25px;padding:0px;";
}總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關注腳本之家的更多內(nèi)容!
相關文章
JavaScript實現(xiàn)為指定對象添加多個事件處理程序的方法
這篇文章主要介紹了JavaScript實現(xiàn)為指定對象添加多個事件處理程序的方法,可實現(xiàn)讓指定對象處理多個事件的功能,具有一定參考借鑒價值,需要的朋友可以參考下2015-04-04
基于JavaScript實現(xiàn)新增內(nèi)容滾動播放效果附完整代碼
這篇文章主要介紹了基于JavaScript實現(xiàn)新增內(nèi)容滾動播放效果,效果非常棒,實現(xiàn)代碼簡單易懂,需要的朋友可以參考下2017-08-08
javascript中for/in循環(huán)及使用技巧
如果您希望一遍又一遍地運行相同的代碼,并且每次的值都不同,那么使用循環(huán)是很方便的,本篇文章給大家介紹javascript中for/in循環(huán)及使用技巧 ,需要的朋友可以參考下2015-09-09

