欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JavaScript實現(xiàn)圓形進(jìn)度條效果

 更新時間:2021年08月25日 09:24:43   作者:_he_dan_  
這篇文章主要為大家詳細(xì)介紹了JavaScript實現(xiàn)圓形進(jìn)度條效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下

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

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
  <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js"></script>
  <style>
    .itemwait{
      position:absolute;
      top : 0;
      bottom:0;
      left:0;
      right:0;
      margin: 0 auto; 
    }
    .progress{
      stroke-dasharray: 251; 
      stroke-dashoffset: 0;
      /* 
      stroke-dasharray: 虛線
      stroke-dashoffset: 偏移間隔   
      */
    }
  </style>
</head>
<body>
  <svg width="200" height="200" version="1.1" class='itemwait'>
    <circle class='progress' cx="100" cy="50" r="40" stroke="pink" stroke-width="5" fill="transparent" />
    <text class='text' x="100" y="50" fill='pink' text-anchor='middle' alignment-baseline='middle'>開始加載</text>
  </svg>
</body>
<script async type='text/javascript'>
//js代碼見下文
</script>

</html>

1.原生js實現(xiàn)

const loadingArr=[1,2,10,20,40,70,90,100]
  let index=0
  var timer=setInterval(()=>{
    let total=document.querySelector('.progress').getTotalLength();
    let progress=document.querySelector('.progress')
    console.log(typeof total)
    progress.style.strokeDashoffset=(total)*(1-loadingArr[index]/100)
    if(index<=loadingArr.length){
      document.querySelector('.text').textContent=`${loadingArr[index]}%`   
  }
    index++
    if(index===loadingArr.length){
      clearInterval(timer)
      document.querySelector('.text').textContent='加載完成'
    }
  },500)

2.jQuery實現(xiàn)

let index = 0
  var $circle = $('.progress');
  var r = $circle.attr('r');
  var timer = setInterval(() => {
    var total = Math.PI * (r * 2);
    var pct = (1-index / 100) * total;
    console.log(typeof pct,pct)
    if (index <= 100) {
      $('.text').text(`${index}%`);
      $circle.css({ strokeDashoffset: pct });
    }
    index = index + 10
    if (index > 100) {
      $('.text').text('加載完成');
      clearInterval(timer)
      
    }
  }, 500)

3.最初按照自己的想法實現(xiàn)

const loadingArr=[1,2,10,20,40,70,90,100]
  let index=0
  var timer=setInterval(()=>{
    let total=document.querySelector('.progress').getTotalLength();
    let progress=document.querySelector('.progress')
    console.log(typeof total)
    progress.style.strokeDashoffset=(total)*(1-loadingArr[index]/100)
    $('.text').text(function(){
      if(index<=loadingArr.length){
       return `${loadingArr[index]}%`
      }
    })
    index++
    if(index===loadingArr.length){
      clearInterval(timer)
      $('.text').text('加載完成')
    }
  },500)

總結(jié)

知識點:svg繪圖、js原生操作、jQuery

  • stroke-dasharray: 虛線
  • stroke-dashoffset: 偏移間隔

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • 淺談js的異步執(zhí)行

    淺談js的異步執(zhí)行

    下面小編就為大家?guī)硪黄獪\談js的異步執(zhí)行。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-10-10
  • 經(jīng)典的間隔時間滾動新聞(圖片),可控制滾動

    經(jīng)典的間隔時間滾動新聞(圖片),可控制滾動

    經(jīng)典的間隔時間滾動新聞(圖片),可控制滾動 其實這個也挺多網(wǎng)站用到的,簡單又實用。(
    2010-05-05
  • JavaScript中eval()函數(shù)用法詳解

    JavaScript中eval()函數(shù)用法詳解

    eval() 函數(shù)計算 JavaScript 字符串,并把它作為腳本代碼來執(zhí)行,本文給大家
    2015-12-12
  • JS使用AudioContext實現(xiàn)音頻流實時播放

    JS使用AudioContext實現(xiàn)音頻流實時播放

    這篇文章主要為大家詳細(xì)介紹了JavaScript如何使用AudioContext實現(xiàn)音頻流實時播放功能,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • 微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能

    微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能

    這篇文章主要為大家詳細(xì)介紹了微信小程序?qū)崿F(xiàn)圖片放大預(yù)覽功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-11-11
  • 前端開發(fā)必須知道的JS之閉包及應(yīng)用

    前端開發(fā)必須知道的JS之閉包及應(yīng)用

    本文講的是函數(shù)閉包,不涉及對象閉包(如用with實現(xiàn))。如果你覺得我說的有偏差,歡迎拍磚,歡迎指教。
    2010-07-07
  • JavaScript模塊管理的簡單實現(xiàn)方式詳解

    JavaScript模塊管理的簡單實現(xiàn)方式詳解

    這篇文章主要介紹了JavaScript模塊管理的簡單實現(xiàn)方式,它方便組織你的代碼,提高項目的可維護(hù)性。一個項目的可維護(hù)性高不高,也體現(xiàn)一個程序員的水平,在如今越來越復(fù)雜的前端項目,這一點尤為重要。,需要的朋友可以參考下
    2019-06-06
  • countUp.js實現(xiàn)數(shù)字動態(tài)變化效果

    countUp.js實現(xiàn)數(shù)字動態(tài)變化效果

    這篇文章主要為大家詳細(xì)介紹了countUp.js實現(xiàn)數(shù)字動態(tài)變化效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2019-10-10
  • Javascript實現(xiàn)時間倒計時效果

    Javascript實現(xiàn)時間倒計時效果

    這篇文章主要為大家詳細(xì)介紹了Javascript實現(xiàn)時間倒計時效果,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-07-07
  • js獲取對象為null的解決方法

    js獲取對象為null的解決方法

    js獲取對象為null的情況,想必很多的朋友都有遇到過吧,只要是js對字符串的解析跟對數(shù)字串的解析還是不太一樣,這是需要注意的地方
    2013-11-11

最新評論