SVG環形進度條

2021-08-21 14:54:04 字數 998 閱讀 1077

svg(scalabe vetor graphics)可縮放向量圖作技術,發源自xml家族。其優秀方便的圖形表現形式,讓其被當下各大瀏覽器所支援。由於其中可內嵌於html,表現出像dom自身元素一樣的性質,而被廣泛的用於html中的圖形表現。

今天我作為乙個小白,根據最近的專案經驗和大家分享乙個用svg製作的環形進度條案例。該進度條可動態設定進度值。

首先來看乙個完成的demo效果:

下面是頁面**:

注:這裡的頁面**其實是初始值狀態。

後台**(js/angularjs):

var preparedrawingcircle1 = function(value)

var dpath = 'm42.5,146 a75,75 0 ' + dflag + ',1 ' + cxball + ',' + cyball;

circle1.setattribute("d",dpath);

circle1.setattribute("stroke-dasharray",clength);

var animate1 = document.getelementbyid('animate1');

animate1.setattribute("from",clength);

var motion1 = document.getelementbyid('motion1');

motion1.setattribute("path",dpath);

};注:

1、只需在需要的地方呼叫該函式設定進度值就ok了,設定完成後會有乙個動畫效果,每次進入頁面也會觸發。

2、本demo中使用的環形半徑是75,svg大小設定160x160,四周各自預留了5

3、本demo中下方的開口是60°,你可用根據自己的需要不要開口或者改變開口大小,不過在改變時,你可能會使用到一些和圓相關的數學知識,如圓周長、圓的引數方程等。

基於svg的環形進度條

其實需求是這麼乙個基於日期的環形進度條,開始用css3寫了一下感覺太麻煩了,於是抽了點時間用svg畫了乙個。不多說 上 css html 70js 獲取當前時間設定為開始時間,年月日 var startdate new date startyear 2016,startmonth 1,startda...

svg 實現半環形進度條

path元素用來定義形狀的通用元素。下面的命令可用於路徑資料 注釋 以上所有命令均允許小寫字母。大寫表示絕對定位,小寫表示相對定位。例如 畫個圓環 解析 symbol元素用來定義乙個圖形模板物件,它可以用乙個元素例項化。symbol元素對圖形的作用是在同一文件中多次使用,新增結構和語義。結構豐富的文...

環形進度條

在專案中做廣告頁,需要乙個5s倒計時的進度條。就用了calayer寫了乙個簡單的進度條。直接上 import inte ce circularprogressview uiview void start void stop import circularprogressview.h import i...