JavaScript實現(xiàn)簡單進度條效果
本文實例為大家分享了JavaScript實現(xiàn)進度條效果的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:

簡單說一下思路:
主要就是進度條的寬度的動態(tài)調(diào)整!要用到JS的間隔定時器 setInterval( )
setInterval( )
功能:每隔指定時間調(diào)用一次函數(shù)
參數(shù):函數(shù),時間間隔
返回值:定時器編號(數(shù)字)
想讓它到一定的寬度就停止,那么需要設定它的最大寬度,在它外面套一個有寬度的元素就可以啦!這樣的話控制它在父元素里的百分比就行了。
在函數(shù)里進行判斷是否道達指定寬度,沒有到達就增長,否則就停止。
為了便于理解,后面JS代碼中也有注釋
1.HTML結構
<div id="box"> <p id="progress"></p> //不斷增長的進度條 <span id=n>0%</span> //百分比的顯示 </div> <button id="btn">開 始</button> //按鈕
2.CSS樣式
<style>
#box{
width: 500px;
height: 30px;
border: black 2px solid;
position: relative;
}
#progress{
width: 0px;
height: 30px;
background: pink;
}
#btn{
width: 50px;
height: 30px;
}
#n{
position: absolute;
top: 5px;
right: 0;
}
</style>
重點來啦!
3.JavaScript代碼
<script>
//通過id獲取元素
var progress = document.getElementById('progress')
var n = document.getElementById('n')
var btn = document.getElementById('btn')
//定義函數(shù),并用元素的單擊事件觸發(fā)函數(shù)
btn.onclick = function(){
var w = 0 //定義變量,用來存儲進度條的長度
//啟動定時器
var t = setInterval(function(){
w += 10 //每隔指定時間,讓進度條長度增加10
if(w >= 100){ //判斷進度條的長度有沒有等于或大于指定長度
w = 100
clearInterval(t) //條件成立,清除定時器
}
progress.style.width = w + '%' //給元素賦值變化后的寬度
n.innerHTML = w + '%' //同時百分比也要增長
},100) //每隔0.1秒執(zhí)行一次
}
</script>
這是我的學習記錄,分享給大家
也希望對看到這篇博文的你有幫助?。。?br />
以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
JavaScript探測CSS動畫是否已經(jīng)完成的方法
這篇文章主要為大家詳細介紹了JavaScript探測CSS動畫是否已經(jīng)完成的方法,感興趣的小伙伴們可以參考一下2016-08-08
javascript應用:Iframe自適應其加載的內(nèi)容高度
javascript應用:Iframe自適應其加載的內(nèi)容高度...2007-04-04
JavaScript仿京東實現(xiàn)秒殺倒計時案例詳解
這篇文章主要為大家詳細介紹了如何利用JavaScript實現(xiàn)京東秒殺倒計時效果,文中示例代碼介紹的非常詳細,感興趣的小伙伴們可以參考一下2022-03-03

