1. 程式人生 > 程式設計 >JavaScript實現簡單進度條效果

JavaScript實現簡單進度條效果

本文例項為大家分享了JavaScript實現進度條效果的具體程式碼,供大家參考,具體內容如下

效果圖:

JavaScript實現簡單進度條效果

簡單說一下思路:

主要就是進度條的寬度的動態調整!要用到JS的間隔定時器 setInterval( )

setInterval( )
功能:每隔指定時間呼叫一次函式
引數:函式,時間間隔
返回值:定時器編號(數字)

想讓它到一定的寬度就停止,那麼需要設定它的最大寬度,在它外面套一個有寬度的元素就可以啦!這樣的話控制它在父元素裡的百分比就行了。
在函式裡進行判斷是否道達指定寬度,沒有到達就增長,否則就停止。
為了便於理解,後面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')

 //定義函式,並用元素的單擊事件觸發函式
 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秒執行一次
 }
</script>

這是我的學習記錄,分享給大家
也希望對看到這篇博文的你有幫助!!!

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支援我們。