JavaScript實(shí)現(xiàn)簡(jiǎn)單進(jìn)度條效果
這篇文章主要為大家詳細(xì)介紹了JAVAScript實(shí)現(xiàn)簡(jiǎn)單進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)進(jìn)度條效果的具體代碼,供大家參考,具體內(nèi)容如下
簡(jiǎn)單說(shuō)一下思路:
主要就是進(jìn)度條的寬度的動(dòng)態(tài)調(diào)整!要用到JS的間隔定時(shí)器 setInterval( )
setInterval( )
功能:每隔指定時(shí)間調(diào)用一次函數(shù)
參數(shù):函數(shù),時(shí)間間隔
返回值:定時(shí)器編號(hào)(數(shù)字)
想讓它到一定的寬度就停止,那么需要設(shè)定它的最大寬度,在它外面套一個(gè)有寬度的元素就可以啦!這樣的話控制它在父元素里的百分比就行了。
在函數(shù)里進(jìn)行判斷是否道達(dá)指定寬度,沒(méi)有到達(dá)就增長(zhǎng),否則就停止。
為了便于理解,后面JS代碼中也有注釋
1.HTML結(jié)構(gòu)
PHP
<div id="box">
<p id="PRogress"></p> //不斷增長(zhǎng)的進(jìn)度條?
<span id=n>0%</span> //百分比的顯示
</div><button id="btn">開(kāi) 始
</button> //按鈕
2.CSS樣式
PHP
<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>
重點(diǎn)來(lái)啦!
3.JavaScript代碼
PHP
<script>
//通過(guò)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 //定義變量,用來(lái)存儲(chǔ)進(jìn)度條的長(zhǎng)度
?//啟動(dòng)定時(shí)器
?
var t = setInterval(function(){
?w += 10 //每隔指定時(shí)間,讓進(jìn)度條長(zhǎng)度增加10
?if(w >= 100){ //判斷進(jìn)度條的長(zhǎng)度有沒(méi)有等于或大于指定長(zhǎng)度
??
w = 100
? clearInterval(t) //條件成立,清除定時(shí)器
?
}
?
progress.style.width = w + '%' //給元素賦值變化后的寬度
?
n.innerHTML = w + '%' //同時(shí)百分比也要增長(zhǎng)
?},100) //每隔0.1秒執(zhí)行一次
}</script>
這是我的學(xué)習(xí)記錄,分享給大家
也希望對(duì)看到這篇博文的你有幫助?。?!