JavaScript實(shí)現(xiàn)簡單進(jìn)度條效果
本文實(shí)例為大家分享了JavaScript實(shí)現(xiàn)進(jìn)度條效果的具體代碼,供大家參考,具體內(nèi)容如下
效果圖:
簡單說一下思路:
主要就是進(jìn)度條的寬度的動(dòng)態(tài)調(diào)整!要用到JS的間隔定時(shí)器 setInterval( )
setInterval( )功能:每隔指定時(shí)間調(diào)用一次函數(shù)參數(shù):函數(shù),時(shí)間間隔返回值:定時(shí)器編號(數(shù)字)
想讓它到一定的寬度就停止,那么需要設(shè)定它的最大寬度,在它外面套一個(gè)有寬度的元素就可以啦!這樣的話控制它在父元素里的百分比就行了。在函數(shù)里進(jìn)行判斷是否道達(dá)指定寬度,沒有到達(dá)就增長,否則就停止。為了便于理解,后面JS代碼中也有注釋
1.HTML結(jié)構(gòu)
<div id='box'> <p id='progress'></p> //不斷增長的進(jìn)度條 <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>
重點(diǎn)來啦!
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 //定義變量,用來存儲(chǔ)進(jìn)度條的長度 //啟動(dòng)定時(shí)器 var t = setInterval(function(){ w += 10 //每隔指定時(shí)間,讓進(jìn)度條長度增加10 if(w >= 100){ //判斷進(jìn)度條的長度有沒有等于或大于指定長度 w = 100 clearInterval(t) //條件成立,清除定時(shí)器 } progress.style.width = w + ’%’ //給元素賦值變化后的寬度 n.innerHTML = w + ’%’ //同時(shí)百分比也要增長 },100) //每隔0.1秒執(zhí)行一次 }</script>
這是我的學(xué)習(xí)記錄,分享給大家也希望對看到這篇博文的你有幫助!??!
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持好吧啦網(wǎng)。
相關(guān)文章:
1. xml創(chuàng)建節(jié)點(diǎn)(根節(jié)點(diǎn)、子節(jié)點(diǎn))2. ASP.NET MVC使用jQuery ui的progressbar實(shí)現(xiàn)進(jìn)度條3. 如何使用CSS3畫出一個(gè)叮當(dāng)貓4. javascript xml xsl取值及數(shù)據(jù)修改第1/2頁5. IntelliJ IDEA設(shè)置編碼格式的方法6. 爬取今日頭條Ajax請求7. 淺談SpringMVC jsp前臺獲取參數(shù)的方式 EL表達(dá)式8. ASP.NET Core WebSocket集群實(shí)現(xiàn)思路詳解9. 詳解Spring的核心機(jī)制依賴注入10. WAP建站W(wǎng)ML語言語法基礎(chǔ)教程第1/6頁
