最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

canvas繪制的直線動(dòng)畫

 更新時(shí)間:2017年01月23日 10:16:57   作者:webLS  
本文主要分享了canvas繪制的直線動(dòng)畫的示例代碼。具有很好的參考價(jià)值,下面跟著小編一起來看下吧

話不多說,請看代碼:

<!DOCTYPE html>
<html>
 <head>
 <meta charset="UTF-8">
 <title>first line</title>
 <style type="text/css">
       body{
         background: #456E89;
       }
 .canvas {
 height: 300px;
 width: 300px; 
 margin: 0 auto;
 font-family: arial;
 }
 </style>
 </head>
 <body>
 <div class="canvas">
 <canvas id="cvs" width="300" height="300"></canvas>
 </div>
 <script type="text/javascript">
 var cvs = document.getElementById("cvs").getContext("2d");
 function Anim(opt) { //初始化值
 this.opt = opt;
 }
 //node 表示畫布節(jié)點(diǎn)
 //staX 表示開始x坐標(biāo)
 //staY 表示開始y坐標(biāo)
 //len表示終點(diǎn)坐標(biāo),
 //timing表示運(yùn)行的間隔時(shí)間, 
 //num表示坐標(biāo)增長的大小 
 //direc表示判斷繪制線條的方向,false表示X軸,ture表示Y軸
 //lw表示線寬的大小 
 //color 表示繪制線條顏色
 Anim.prototype.draw = function() { //繪制直線的線條
 var opt = this.opt; //設(shè)置對象的屬性
 var adx = opt.staX;
 var ady = opt.staY;
 var that = {
  x: opt.staX,
  y: opt.staY
 };
 var Time = setInterval(function() {
  opt.direc //判斷繪制方向
  ?
  opt.len > ady ? ady += opt.num : ady -= opt.num :
  opt.len > adx ? adx += opt.num : adx -= opt.num;
  if(adx == opt.len || ady == opt.len) { //停止循環(huán)
  clearInterval(Time);
  }
  opt.Node.beginPath(); // 開始繪制線條
  opt.Node.moveTo(that.x, that.y);
  opt.Node.lineTo(adx, ady);
  opt.Node.lineWidth = opt.lw || 1;
  opt.Node.strokeStyle = opt.color;
  opt.Node.stroke();
 }, opt.timing);
 };
 Anim.prototype.txt = function(opc) {//繪制文字 
 cvs.beginPath();
 cvs.fillStyle = "rgba(255,255,255,"+opc+")";
 cvs.font = "200px arial";
 cvs.fillText("L", 100, 200);
 };
 var line1 = new Anim({ //實(shí)例
 Node: cvs,
 color: "#fff",
 staX: 114,
 staY: 58,
 len: 134,
 timing: 50,
 num: 1,
 direc: false,
 lw: 2
 });
 line1.draw(); //執(zhí)行繪制
 var line2 = new Anim({
 Node: cvs,
 color: "#fff",
 staX: 115,
 staY: 58,
 len: 200,
 timing: 20,
 num: 1,
 direc: true,
 lw: 2
 });
 line2.draw();
 var line3 = new Anim({
 Node: cvs,
 color: "#fff",
 staX: 133,
 staY: 184,
 len: 58,
 timing: 20,
 num: 1,
 direc: true,
 lw: 2
 });
 line3.draw();
 var line4 = new Anim({
 Node: cvs,
 color: "#fff",
 staX: 132,
 staY: 184,
 len: 203,
 timing: 35,
 num: 1,
 direc: false,
 lw: 2
 });
 line4.draw();
 var line5 = new Anim({
 Node: cvs,
 color: "#fff",
 staX: 203,
 staY: 199,
 len: 115,
 timing: 35,
 num: 1,
 direc: false,
 lw: 2
 });
 line5.draw();
 var line6 = new Anim({
 Node: cvs,
 color: "#fff",
 staX: 203,
 staY: 199,
 len: 184,
 timing: 50,
 num: 1,
 direc: true,
 lw: 2
 });
 line6.draw();
 var test = new Anim();//繪制文字實(shí)例
 setTimeout(function () {
 var num = 0;
 var times = setInterval(function () {
  num++;
  var t = num/100;
  if(t === 1){
  clearInterval(times);
  }
  test.txt(t);
 },50)
 },3000)
 </script>
 </body>
</html>

以上就是本文的全部內(nèi)容,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,同時(shí)也希望多多支持腳本之家!

相關(guān)文章

  • 原生js實(shí)現(xiàn)下拉刷新和上拉加載更多

    原生js實(shí)現(xiàn)下拉刷新和上拉加載更多

    這篇文章主要為大家詳細(xì)介紹了原生js實(shí)現(xiàn)下拉刷新和上拉加載更多,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2022-01-01
  • JavaScript統(tǒng)計(jì)網(wǎng)站訪問次數(shù)的實(shí)現(xiàn)代碼

    JavaScript統(tǒng)計(jì)網(wǎng)站訪問次數(shù)的實(shí)現(xiàn)代碼

    每一個(gè)稱職的網(wǎng)管,都需要知道每天網(wǎng)站的訪問量,需要實(shí)現(xiàn)網(wǎng)站訪問次數(shù)功能來滿足需求,本篇文章主要介紹了JavaScript統(tǒng)計(jì)網(wǎng)站訪問次數(shù)的實(shí)現(xiàn)代碼,感興趣的小伙伴們可以參考一下
    2015-11-11
  • 全面解析Javascript無限添加QQ好友原理

    全面解析Javascript無限添加QQ好友原理

    這篇文章主要介紹了全面解析Javascript無限添加QQ好友原理的相關(guān)資料,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-06-06
  • 一起來了解下Swiper插件的使用和介紹

    一起來了解下Swiper插件的使用和介紹

    這篇文章主要為大家詳細(xì)了解了Swiper插件的使用和介紹,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下,希望能夠給你帶來幫助
    2022-01-01
  • bootstrap switch開關(guān)組件使用方法詳解

    bootstrap switch開關(guān)組件使用方法詳解

    這篇文章主要為大家詳細(xì)介紹了bootstrap switch開關(guān)組件的使用方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-08-08
  • JS實(shí)現(xiàn)橫向與豎向兩個(gè)選項(xiàng)卡Tab聯(lián)動(dòng)的方法

    JS實(shí)現(xiàn)橫向與豎向兩個(gè)選項(xiàng)卡Tab聯(lián)動(dòng)的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)橫向與豎向兩個(gè)選項(xiàng)卡Tab聯(lián)動(dòng)的方法,涉及JavaScript遍歷及動(dòng)態(tài)修改頁面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 詳解在HTTPS 項(xiàng)目中使用百度地圖 API

    詳解在HTTPS 項(xiàng)目中使用百度地圖 API

    這篇文章主要介紹了在HTTPS 項(xiàng)目中使用百度地圖 API,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-04-04
  • JavaScript實(shí)現(xiàn)的select點(diǎn)菜功能示例

    JavaScript實(shí)現(xiàn)的select點(diǎn)菜功能示例

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)的select點(diǎn)菜功能,涉及javascript動(dòng)態(tài)操作頁面元素及元素遍歷相關(guān)技巧,需要的朋友可以參考下
    2017-01-01
  • JavaScript-定時(shí)器0~9抽獎(jiǎng)系統(tǒng)詳解(代碼)

    JavaScript-定時(shí)器0~9抽獎(jiǎng)系統(tǒng)詳解(代碼)

    這篇文章主要介紹了 JavaScript-定時(shí)器0~9抽獎(jiǎng)系統(tǒng),通過代碼實(shí)例說明函數(shù)調(diào)用的整體操作,具體步驟大家可查看下文的詳細(xì)講解,感興趣的小伙伴們可以參考一下。
    2017-08-08
  • JS HTML5實(shí)現(xiàn)拖拽移動(dòng)列表效果

    JS HTML5實(shí)現(xiàn)拖拽移動(dòng)列表效果

    這篇文章主要為大家詳細(xì)介紹了JS HTML5實(shí)現(xiàn)拖拽移動(dòng)列表效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2016-07-07

最新評論

奉贤区| 荃湾区| 德庆县| 龙泉市| 屏边| 如皋市| 龙州县| 堆龙德庆县| 萨迦县| 榆林市| 涿鹿县| 天峻县| 乐清市| 湖北省| 益阳市| 沙洋县| 本溪| 柯坪县| 广元市| 泰和县| 镇安县| 龙岩市| 辉县市| 科尔| 汽车| 思茅市| 文山县| 龙里县| 平罗县| 唐河县| 钦州市| 安远县| 云和县| 盘锦市| 乃东县| 河北区| 清流县| 台湾省| 柘荣县| 清涧县| 台山市|