国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

基于JS實現帶動畫效果的流程進度條

來源:懂視網 責編:小采 時間:2020-11-27 22:13:40
文檔

基于JS實現帶動畫效果的流程進度條

基于JS實現帶動畫效果的流程進度條:當在使用流程的時候,比如有一個審核流程,有三個階段:開始,審核中,審核成功。當在不同的階段,做相應的進度顯示,當顯示時,是以動畫的形式顯示的。話不多說,我們開始打造吧。 首先,我考慮的是使用canvas來打造這個控件,于是我現在demo.html里新
推薦度:
導讀基于JS實現帶動畫效果的流程進度條:當在使用流程的時候,比如有一個審核流程,有三個階段:開始,審核中,審核成功。當在不同的階段,做相應的進度顯示,當顯示時,是以動畫的形式顯示的。話不多說,我們開始打造吧。 首先,我考慮的是使用canvas來打造這個控件,于是我現在demo.html里新

當在使用流程的時候,比如有一個審核流程,有三個階段:開始,審核中,審核成功。當在不同的階段,做相應的進度顯示,當顯示時,是以動畫的形式顯示的。話不多說,我們開始打造吧。

    首先,我考慮的是使用canvas來打造這個控件,于是我現在demo.html里新建了一個canvas用來顯示測試用,并且先預計了幾個屬性值,在做的過程中增增改改,最終屬性如下:

<canvas id="myCanvas" width="800" height="100" style="background:#efefef" data-show="開始|審核中|預審核|結束" data-font-size="16" 
 data-r="15" dara-progress="3" data-speed="20" data-fill-colour="#ffff00" data-padding="10"> 
 您的瀏覽器不支持 HTML5 canvas 標簽。</canvas> 

然后開始編寫相應的js文件,我將其命名為ct_progress.js。我的目的是打造一款使用者可以自由配置的顯示控件,于是定義了一下可配置的屬性:

var c=document.getElementById("myCanvas"); 
var showStr = c.getAttribute("data-show"); 
var showStrs = showStr.split("|"); 
var r = c.hasAttribute("data-r")?Number(c.getAttribute("data-r")):15; 
var ctx=c.getContext("2d"); 
var padding = c.hasAttribute("data-padding")?Number(c.getAttribute("data-padding")):10;//左右上的間隔 
var space = (c.getAttribute("width")-2*r-2*padding)/(showStrs.length-1); 
var speed = c.hasAttribute("data-speed")?Number(c.getAttribute("data-speed")):20;//動畫速度 
var fillColour = c.hasAttribute("data-fill-colour")?c.getAttribute("data-fill-colour"):"#ffff00";//填充色 
var fontSize = c.hasAttribute("data-font-size")?Number(c.getAttribute("data-font-size")):15; 

屬性完成,開始使用canvas使用這些屬性值開始進行初始化畫圖:

for(var i in showStrs) 
{ 
 ctx.beginPath(); 
 ctx.fillStyle="#ffffff"; 
 ctx.arc(r+i*space+padding,r+padding,r,0,2*Math.PI);//前面兩個參數為圓心坐標,第三個為半徑,第四個為起始角。第五個為結束角 
 ctx.fill(); 
 if(i!=0) 
 { 
 ctx.fillRect(r+(i-1)*space+padding,r/2+padding,space,r);//前面兩個左上角坐標,后面兩個寬高 
 } 
 ctx.beginPath(); 
 ctx.fillStyle="#333333"; 
 ctx.font=fontSize+"px Georgia";//一定要指定字體否則大小沒有用 
 ctx.fillText(showStrs[i],r+i*space-r+padding,r*2+fontSize+10+padding);//左下角為起點 
 ctx.stroke(); 
} 

此時畫出了一個靜態的沒有進度的流程進度條。然后為這個進度條加上顯示時的動畫:

var proW = 0;//進度長度 
var progress = c.hasAttribute("dara-progress")?Number(c.getAttribute("dara-progress")):showStrs.length;// 
var showW = space*progress;//計算應該顯示的進度長度 
var i=0,j; 
var int = setInterval(function () { 
 //清除 
 //ctx.clearRect(0, 0, c.width, c.height);//不清除在原圖上畫了覆蓋 
 j=i; 
 i = parseInt(proW/space); 
 if(i>j) 
 { 
 ctx.beginPath(); 
 ctx.fillStyle=fillColour; 
 ctx.fillRect(r+j*space+padding,r/2+padding,space,r);//前面兩個左上角坐標,后面兩個寬高 
 //clearArc(ctx,r+j*space+padding,r+padding,r,1);//清除圓部 
 } 
 else 
 { 
 if(i<progress) 
 { 
 ctx.beginPath(); 
 ctx.fillStyle=fillColour; 
 ctx.fillRect(r+i*space+padding,r/2+padding,proW-i*space,r);//前面兩個左上角坐標,后面兩個寬高 
 } 
 } 
 //clearArc(ctx,r+i*space+padding,r+padding,r,1);//清除圓部 
 ctx.beginPath(); 
 ctx.fillStyle=fillColour; 
 ctx.arc(r+i*space+padding,r+padding,r,0,2*Math.PI);//前面兩個參數為圓心坐標,第三個為半徑,第四個為起始角。第五個為結束角 
 ctx.fill(); 
 if(proW>=showW) 
 { 
 clearInterval(int); 
 } 
 proW+=speed; 
}, 150); 

這樣便完成了一個簡單的帶顯示動畫的流程進度條。最終效果如下:

具體控件使用以及源碼,詳見github:點擊打開鏈接希望學習或有用到的童鞋star一下,感謝

總結

以上所述是小編給大家介紹的基于JS實現帶動畫效果的流程進度條,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網站的支持!

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

基于JS實現帶動畫效果的流程進度條

基于JS實現帶動畫效果的流程進度條:當在使用流程的時候,比如有一個審核流程,有三個階段:開始,審核中,審核成功。當在不同的階段,做相應的進度顯示,當顯示時,是以動畫的形式顯示的。話不多說,我們開始打造吧。 首先,我考慮的是使用canvas來打造這個控件,于是我現在demo.html里新
推薦度:
標簽: 流程 動態 進度條
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 91热这里只有精品 | 亚洲色图88 | 黑人一区二区三区中文字幕 | 日韩精品欧美亚洲高清有无 | 国模吧双双大尺度炮交gogo | 日韩 亚洲 制服 欧美 综合 | 日韩不卡一区二区三区 | 精品亚洲一区二区三区 | 久草伦理| 国产精品一区二区三 | 久久精品成人 | 国产成人久久精品激情 | 久久综合中文字幕一区二区 | 自拍偷拍亚洲区 | 欧美日韩色图 | 91国内精品久久久久免费影院 | 欧美高清老少配性啪啪 | 在线观看亚洲欧美 | 日韩亚洲欧美在线 | 久久精品国产亚洲欧美 | 国产欧美在线观看视频 | 九九久久国产精品大片 | 全部费免一级毛片不收费 | 亚洲一区二区三区四区在线观看 | 一级毛片一级毛片一级级毛片 | 在线亚洲精品国产成人二区 | 99热这里只有精品一区二 | 亚洲清纯自偷自拍另类专区 | 91精品国产高清91久久久久久 | 久久这里只有精品9 | 亚洲国产第一页 | 久久亚洲精品国产精品婷婷 | 日韩欧美激情 | 成人a毛片久久免费播放 | 国产精品久久久久久久毛片 | 精品日韩二区三区精品视频 | 视频在线一区二区 | 久久久久久久国产a∨ | 在线日韩理论午夜中文电影 | 国产日韩欧美一区 | 国产亚洲综合成人91精品 |