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

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號
尤物TV国产精品看片在线| 日韩精品人妻系列无码专区免费| 91大神在线精品网址| 在线观看日韩精品| 亚洲国产精品网站久久| 亚洲电影日韩精品| 色哟哟精品视频在线观看| 国产啪精品视频网站| 国产成人亚综合91精品首页| 久久精品a亚洲国产v高清不卡| 国产999精品久久久久久| 牛牛本精品99久久精品| 久久99精品免费视频| 九九精品视频在线播放8| 国产在线拍揄自揄视精品| 久久亚洲私人国产精品| 9丨精品国产高清自在线看| 日韩成人无码影院| 2021精品国产综合久久| 国产精品福利自产拍在线观看| 精品国产日韩一区三区| 在线精品一区二区三区电影| 中国精品白嫩bbwbbw| 久久99精品国产99久久| 伊人久久无码精品中文字幕| 女同久久精品国产99国产精品 | 美国发布站精品视频| 久久午夜无码鲁丝片直播午夜精品| 精品一区二区AV天堂| 最新国产午夜精品视频成人| 亚洲精品国产成人| 久久国产精品久久国产精品| 午夜精品久久影院蜜桃| 国产精品手机在线亚洲| 国内揄拍国内精品对白86| 久久一本精品久久精品66| 国产久爱免费精品视频| 亚洲 欧洲 日韩 综合在线| 男人扒开女人下添高潮日韩视频| 欧美交A欧美精品喷水| 国产精品1024香蕉在线观看|