亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 網站 > WEB開發 > 正文

Canvas繪制弧線(打鉤、打叉)動畫示例及怎樣封裝成移動端javascript插件(一)

2024-04-27 15:08:33
字體:
來源:轉載
供稿:網友

Canvas繪制弧線(打鉤、打叉)動畫示例

曾經我也是一個切圖頁面仔,頁面上的圖形,動畫都是靠圖片、Flash之類的完成,終于隨著前端的發展,我就想能不能有一些專業的圖形動畫繪制工具來幫助我完成這些事情,而不是用我們前端不專業的美工呢,現在我用上了svg和canvas,相對于圖片來說更靈活了。 本篇要介紹的是canvas,想要了解的同學可以訪問http://www.49028c.com.cn/HTML5/html5_canvas.asp。 我們要做的是一個簡單的提示成功或失敗的圖標動畫(如何封裝成javaScript插件將會在第二篇介紹),實際效果如下圖: 提示成功 提示失敗


相應的完整代碼

<canvas id="myCanvas" width="120px" height="120px" style="width:120px;height:120px;"> Canvas繪制弧線(打鉤、打叉)動畫示例</canvas><script type="text/Javascript"> //獲取Canvas對象(畫布) var canvas = document.getElementById("myCanvas"); //檢測當前瀏覽器是否支持Canvas對象 if(canvas.getContext){ //獲取對應的CanvasRenderingContext2D對象 var context = canvas.getContext("2d"); var interval = 30; var x = canvas.width/2; //圓心的x軸坐標值 var y = canvas.height/2; //圓心的y軸坐標值 var radius = 55; //圓的半徑 var counterClockwise = false; var width = canvas.width,height=canvas.height; if (window.devicePixelRatio) { canvas.height = height * 4; canvas.width = width * 4; context.scale(4, 4); } drawTick(); drawfork(); function drawCircle(){ var step = 1, startAngle = 0, endAngle = 0, n = 55; // count of arc var animation = setInterval(function () { if (step <= n ) { endAngle = 0 + 2 * Math.PI / n * step; //開始一個新的繪制路徑 context.beginPath(); //沿著坐標點(100,100)為圓心、半徑為50px的圓的順時針方向繪制弧線 context.arc(x, y, radius, startAngle, endAngle,counterClockwise); context.strokeStyle = "#F0A5BA"; context.lineWidth = 2; //設置線寬 //按照指定的路徑繪制弧線 context.stroke(); step++; } else { clearInterval(animation); } },interval); } function drawTick(){ drawCircle(); var step1 = 1 , step2 = 1,startAngle = 0, endAngle = 0, n1 = 25,n2 = 40; var endX1 = 0, endY1 = 0; var animation1 = setInterval(function (){ if (step1 <= n1) { startX1 = 25; startY1 = 60; endX1 = startX1 + step1*1; endY1 = startY1 + step1*((80-60)/(50-25)); //開始一個新的繪制路徑 context.beginPath(); context.moveTo(startX1,startY1); context.lineTo(endX1,endY1); //(50,80) //按照指定的路徑繪制弧線 context.stroke(); step1 ++; } else { clearInterval(animation1); var animation2 = setInterval(function (){ if (step2 <= n2) { endX2 = endX1 + step2*1; endY2 = endY1 - step2*((80-40)/(90-50)); //開始一個新的繪制路徑 context.beginPath(); context.moveTo(endX1,endY1); context.lineTo(endX2,endY2); //(90,40) //按照指定的路徑繪制弧線 context.stroke(); step2 ++; } else { clearInterval(animation2); } },interval); } },interval); } function drawfork(){ drawCircle(); var step1 = 1 , step2 = 1 , n = 50; var startX1, startY1, endX1, endY1; var startX2, startY2, endX2, endY2; var animation1 = setInterval(function (){ if (step1 <= n) { startX1 = 35; startY1 = 25; endX1 = startX1 + step1*1; endY1 = startY1 + step1*((95-25)/(85-35)); //開始一個新的繪制路徑 context.beginPath(); context.moveTo(startX1,startY1); context.lineTo(endX1,endY1); //(85,95) //按照指定的路徑繪制弧線 context.stroke(); step1 ++; } else { clearInterval(animation1); var animation2 = setInterval(function (){ if (step2 <= n) { startX2 = 85; startY2 = 25; endX2 = startX2 - step2*1; endY2 = startY2 + step2*((95-25)/(85-35)); //開始一個新的繪制路徑 context.beginPath(); context.moveTo(startX2,startY2); context.lineTo(endX2,endY2); //按照指定的路徑繪制弧線 context.stroke(); step2 ++; } else { clearInterval(animation2); } },interval); } },interval); } } </script>

接著我們將代碼解構與詳述: 一、畫出空心圓:drawCircle(); 二、畫出勾,再將空心圓和勾組合起來畫出成功提示:drawTick(); 三、畫出叉,再將空心圓和叉組合起來畫出失敗提示:drawfork(); 待續。。。


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
国产精品爽黄69| 热99精品里视频精品| 亚洲国产精品成人一区二区| 久久精品这里热有精品| 亚洲国产婷婷香蕉久久久久久| 欧美日韩精品在线视频| 狠狠色狠狠色综合日日小说| 成人黄色av免费在线观看| 国产一区二区三区视频在线观看| 成人欧美一区二区三区在线湿哒哒| 国产精品com| 成人在线激情视频| 欧美老肥婆性猛交视频| 国产一区二区三区网站| 日本a级片电影一区二区| 日韩av在线高清| 波霸ol色综合久久| 精品夜色国产国偷在线| 亚洲国产美女精品久久久久∴| 欧美色播在线播放| 国产精品久久久av久久久| 日韩欧美亚洲国产一区| 国产一区欧美二区三区| 亚洲国产另类 国产精品国产免费| 国产一区二区久久精品| 久久久亚洲精选| 日韩美女视频免费看| 精品动漫一区二区三区| 成人久久一区二区三区| 欧美日韩国产成人在线观看| 亚洲色图校园春色| 亚洲剧情一区二区| 91久久精品美女高潮| 91高清在线免费观看| 日韩精品一区二区三区第95| 亚洲精品动漫久久久久| 91精品美女在线| 国产一区玩具在线观看| 欧美亚洲另类在线| 亚洲在线一区二区| 亚洲日本欧美中文幕| 日韩美女在线播放| 国产成人精品免费久久久久| 国产婷婷97碰碰久久人人蜜臀| 亚洲人在线观看| 日本精品视频在线| 日韩动漫免费观看电视剧高清| 自拍视频国产精品| 成人在线一区二区| 精品在线小视频| 久久久久久久久电影| 91精品国产综合久久香蕉| 亚洲小视频在线观看| 精品亚洲国产视频| 在线视频欧美性高潮| 国产91精品高潮白浆喷水| 国产精品一区二区电影| 日韩av在线播放资源| 中文字幕成人精品久久不卡| 国产不卡av在线免费观看| 久久久久成人网| 日韩在线观看免费全集电视剧网站| 韩日欧美一区二区| 日韩电影大片中文字幕| 亚洲欧美成人网| 中文字幕亚洲无线码a| 久久久久久免费精品| 亚洲一区二区三区乱码aⅴ| 国产亚洲激情在线| 亚洲va久久久噜噜噜| 国产精品一区二区性色av| 亚洲精品在线不卡| 亚洲午夜国产成人av电影男同| 亚洲一区二区三区在线免费观看| 91精品国产综合久久久久久蜜臀| 亚洲欧美日韩天堂| 欧美激情18p| 午夜精品理论片| 日本道色综合久久影院| 欧美激情一区二区久久久| 欧美乱大交xxxxx另类电影| 国外视频精品毛片| 欧美性受xxxx白人性爽| 国产成人精彩在线视频九色| 成人国产精品久久久久久亚洲| 日本免费一区二区三区视频观看| 91av视频在线观看| 97视频免费观看| 自拍偷拍亚洲欧美| 97香蕉超级碰碰久久免费的优势| 国产一区二区三区久久精品| 精品久久久香蕉免费精品视频| 57pao成人国产永久免费| 日韩av在线播放资源| 国产视频欧美视频| 国产精品久久久久久亚洲调教| 草民午夜欧美限制a级福利片| 精品久久久香蕉免费精品视频| 色无极亚洲影院| 国产一区二区三区直播精品电影| 日韩精品在线免费播放| 欧美日韩一区二区免费在线观看| 日韩一区二区在线视频| 欧美激情久久久久| 成人xxxxx| 91在线观看免费高清| 57pao成人国产永久免费| 国产免费一区二区三区在线观看| 成人综合网网址| 成人欧美在线观看| 国产999在线观看| 国产噜噜噜噜久久久久久久久| 亚洲精品久久久久中文字幕欢迎你| 久久久国产精品亚洲一区| 亚洲日韩中文字幕| 国产在线日韩在线| 久精品免费视频| 成人福利在线观看| 日韩av123| 永久免费精品影视网站| 亚洲乱码av中文一区二区| 久久九九热免费视频| 日韩黄色高清视频| 亚洲第一精品夜夜躁人人爽| 欧美国产日产韩国视频| 尤物九九久久国产精品的特点| 国产精品美女久久久久av超清| 国产成人精品久久二区二区| 91精品视频网站| 国产啪精品视频网站| 91精品啪aⅴ在线观看国产| 国产精品久久久| 精品av在线播放| 91久久国产精品91久久性色| 九九九热精品免费视频观看网站| 亚洲国产精品字幕| 精品国产一区二区在线| 国产v综合v亚洲欧美久久| 欧美精品在线播放| 91精品久久久久久久久久入口| 免费91在线视频| 这里精品视频免费| 91美女片黄在线观看游戏| 国产精品精品视频一区二区三区| 国产精品国产三级国产专播精品人| 国产亚洲精品久久久优势| 国内精品小视频在线观看| 91爱爱小视频k| 中文字幕久久亚洲| 国产97在线|亚洲| 国产精品v片在线观看不卡| 国产精品扒开腿做爽爽爽视频| 国产成人亚洲综合91精品| 国产欧美最新羞羞视频在线观看| 欧美在线播放视频| 日韩亚洲欧美成人| 大伊人狠狠躁夜夜躁av一区| 欧美亚洲国产日韩2020| 亚洲国产日韩欧美在线图片| 中日韩午夜理伦电影免费| 日韩欧美第一页| 国产一区欧美二区三区| 久久影院中文字幕| 欧美激情免费观看|