站長資訊網
最全最豐富的資訊網站

svg和css3實現環形漸變進度條的代碼示例

本篇文章給大家帶來的內容是關于svg和css3實現環形漸變進度條的代碼示例,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。

在負責的項目中,有一個環形漸變讀取進度的效果的需求,于是在網上查閱相關資料整理一下。

代碼如下:

<!DOCTYPE html> <html> <head>   <meta charset="UTF-8">   <title>Title</title>   <script src="https://code.jquery.com/jquery-3.1.1.min.js"></script> </head> <body>   <div>     <svg width="340" height="340" xmlns="http://www.w3.org/2000/svg">       <circle r="150" cy="170" cx="170" stroke-width="10" stroke="#FAFAFA" fill="none" />       <circle r="150" cy="170" cx="170" stroke-width="35" stroke="url(#linearGradient)" stroke-linejoin="round" stroke-linecap="round" fill="none"/>       <circle fill="#FFFFFF" fill-rule="nonzero" cx="320" cy="170" r="12"></circle>       <defs>         <linearGradient x1="0%" y1="80.9878035%" x2="96.9769965%" y2="41.7547666%" id="linearGradient">           <stop stop-color="#18A6FF" offset="0%"></stop>           <stop stop-color="#32B7FF" offset="52.7095376%"></stop>           <stop stop-color="#0094F1" offset="100%"></stop>         </linearGradient>       </defs>     </svg>     <div>       <div>         <span></span><span>%</span>       </div>     </div>   </div>   <script type="text/javascript">     window.onload=function () {       'use strict';       var ProgressCircle = (function () {         function ProgressCircle(percent,radius,elementClass){          this._percent = percent;  //百分比          this._radius = radius;    //圓的半徑          this._elementClass = elementClass;          }         ProgressCircle.prototype.calcDashOffset = function () {          var circumference;            circumference = Math.PI * (2 * this._radius);   //計算圓圈的周長            return Math.round(circumference - this._percent / 100 * circumference);  //計算圓圈要渲染的 長度!          }          //渲染進度條         ProgressCircle.prototype.createCSS = function() {           return $("." + this._elementClass + " .circle_bar").css('stroke-dashoffset', this.calcDashOffset());         };         //讀取效果         ProgressCircle.prototype.updateText = function () {           $("." + this._elementClass + " .js-donut-figure")[0].innerText = this._percent;         }          ProgressCircle.prototype.init = function() {           var _this = this;           setTimeout(function(){             _this.updateText();             return _this.createCSS();           },1000);         };         return ProgressCircle;       })();        let progress = new ProgressCircle(50, 150, 'donut');       progress.init();     }   </script>   <style type="text/css">   *{     padding:0;     margin:0     }   .donut{     position: relative;   }   .circle_warp{     position: relative;     top: 0;     left: 0   }   .circle_bar {     stroke-dasharray: 942.4777960769379;  //計算整個圓周的周長公式為Circumstance=2*PI*Radius  2*3.14*半徑(此時是半徑是150)     stroke-dashoffset: 942.4777960769379;     transition: stroke-dashoffset 1200ms cubic-bezier(.99,.01,.62,.94);   }   .donut_svg{     transform: rotate(-90deg);   }   .donut_copy{     text-align: center;     width: 340px;     height: 340px;     top: 40%;     left: 0;     position: absolute;   }   .donut_title{     opacity: 0;     font-size: 42px;     color: #171717;     margin-bottom: 2px;     animation: donutTitleFadeLeft 800ms 200ms cubic-bezier(.99,.01,.22,.94) forwards;     transform: translateX(0);     font-weight: bold;   }   .donut_spic{     content: "%";     animation: donutTitleFadeRight 800ms 200ms cubic-bezier(.99,.01,.22,.94) forwards;     opacity: 0;     transform: translateY(-20px);   }   .donut__text p{     font-size: 16px;     color: #AAAAAA;   }   @keyframes donutTitleFadeLeft {     from {       opacity: 0;       transform: translateX(0);     }      to {       opacity: 1;       transform: translateX(10px);     }   }    @keyframes donutTitleFadeRight {     from {       opacity: 0;       transform: translateX(-30px);     }     to {       opacity: 1;       transform: translateX(0);     }   } </style> </html>

贊(0)
分享到: 更多 (0)
網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
蜜臀久久99精品久久久久久小说 | 精品亚洲成a人在线观看| 国产叼嘿久久精品久久| 亚洲综合精品伊人久久| 亚洲国产一二三精品无码| 国产乱码精品一区二区三区四川 | 日韩在线天堂免费观看| 国产精品久久自在自线观看| 国产精品一区二区三区99| 在线精品免费视频| 久久精品国产99国产精2020丨 | 国产精品亚洲色婷婷99久久精品| 久久91精品国产一区二区| 久久久久久久久无码精品亚洲日韩 | 666精品国产精品亚洲| 国产精品成人小电影在线观看| 日韩国产成人精品视频| 国产精品69白浆在线观看免费| 91精品免费久久久久久久久| 99久久精品影院老鸭窝| 国产在线国偷精品产拍| 久久精品青青草原伊人| 国产午夜精品一区二区三区| 国产午夜精品久久久久九九电影 | 久久久久这里只有精品 | 成人国产精品2021| 久久国产精品成人免费| 亚洲欧美日韩综合久久久久| 最新日韩精品中文字幕| 麻豆国产精品免费视频| 精品国产一区二区三区久久| 日韩人妻无码精品专区| 欧美日韩精品一区二区在线观看| 免费在线精品视频| 日韩在线视频播放免费视频完整版| 2017国产精品自拍| 亚洲国产精品久久久久| 538国产精品一区二区在线| 国产精品免费小视频| 在线播放亚洲精品| 国产精品午夜福利在线观看地址|