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

canvas繪制的直線(xiàn)動(dòng)畫(huà)

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

話(huà)不多說(shuō),請(qǐng)看代碼:

<!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 表示畫(huà)布節(jié)點(diǎn)
 //staX 表示開(kāi)始x坐標(biāo)
 //staY 表示開(kāi)始y坐標(biāo)
 //len表示終點(diǎn)坐標(biāo),
 //timing表示運(yùn)行的間隔時(shí)間, 
 //num表示坐標(biāo)增長(zhǎng)的大小 
 //direc表示判斷繪制線(xiàn)條的方向,false表示X軸,ture表示Y軸
 //lw表示線(xiàn)寬的大小 
 //color 表示繪制線(xiàn)條顏色
 Anim.prototype.draw = function() { //繪制直線(xiàn)的線(xiàn)條
 var opt = this.opt; //設(shè)置對(duì)象的屬性
 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(); // 開(kāi)始繪制線(xiàn)條
  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>

以上就是本文的全部?jī)?nèi)容,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,同時(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)站訪問(wèn)次數(shù)的實(shí)現(xiàn)代碼

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

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

    全面解析Javascript無(wú)限添加QQ好友原理

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

    一起來(lái)了解下Swiper插件的使用和介紹

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

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

    這篇文章主要為大家詳細(xì)介紹了bootstrap switch開(kāi)關(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)修改頁(yè)面元素屬性的相關(guān)技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-09-09
  • 詳解在HTTPS 項(xiàng)目中使用百度地圖 API

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

    這篇文章主要介紹了在HTTPS 項(xiàng)目中使用百度地圖 API,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(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)操作頁(yè)面元素及元素遍歷相關(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),通過(guò)代碼實(shí)例說(shuō)明函數(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

最新評(píng)論

洱源县| 罗山县| 商洛市| 民丰县| 昌江| 阿图什市| 庐江县| 长宁县| 定日县| 突泉县| 于都县| 务川| 黑水县| 宜兰县| 平顶山市| 龙泉市| 新沂市| 万安县| 克什克腾旗| 杨浦区| 静宁县| 万安县| 阳西县| 洪雅县| 凭祥市| 黄石市| 白沙| 墨竹工卡县| 和林格尔县| 临邑县| 雅江县| 射洪县| 雷州市| 蒙城县| 冀州市| 法库县| 鲁甸县| 中宁县| 道孚县| 宝兴县| 酒泉市|