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

首頁 > 編程 > JavaScript > 正文

svg動畫之動態描邊效果

2019-11-19 17:27:28
字體:
來源:轉載
供稿:網友

1、首先先做一個簡單的線一點一點畫出來的效果,主要使用svg中的“strokeDasharray”、“strokeDashoffset”屬性,通過css3中的transtion改變strokeDashoffset來實現動畫。

注:path中的數據通過在ai中劃線后存儲為svg格式就可以拿到;

效果圖:

代碼如下:

<svg class="move_line1" xmlns="http://www.w3.org/2000/svg" width="600px" height="150px"> <path d="M62.9 14.9c-25-7.74-56.6 4.8-60.4 24.3-3.73 19.6 21.6 35 39.6 37.6 42.8 6.2 72.9-53.4 116-58.9 65-18.2 191 101 215 28.8 5-16.7-7-49.1-34-44-34 11.5-31 46.5-14 69.3 9.38 12.6 24.2 20.6 39.8 22.9 91.4 9.05 102-98.9 176-86.7 18.8 3.81 33 17.3 36.7 34.6 2.01 10.2.124 21.1-5.18 30.1" stroke="#000" stroke-width="4" fill="none"> </path> </svg> <script> //svg 動畫一般用transtion和animation var path1 = document.querySelector(".move_line1 path"); var length1 = path1.getTotalLength(); //清除動作 path1.style.transtion = path1.style.WebkitTransition = "none"; //設置起點 path1.style.strokeDasharray = length1 + ' ' + length1; path1.style.strokeDashoffset = length1; //獲取一個區域,獲取相關的樣式,讓瀏覽器尋找一個起始點 path1.getBoundingClientRect(); //定義動作 path1.style.transition = path1.style.WebkitTransition = 'stroke-dashoffset 2s ease-in-out'; //GO path1.style.strokeDashoffset = '0'; </script>

2、與畫線的效果,接下來用同樣的原理來畫一個“藍胖子”,藍胖子同樣是需要用ai畫出來,將所有的元素存在數組里面遍歷時改變transtion中的during和delay從而實現劃線的先后順序。

效果圖:

代碼如下:

<div class="move_line2"> <svg xmlns="http://www.w3.org/2000/svg" width="600px" height="500px"> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M335.088,373.962c23.125-7.219,54.068,12.896,69.115,44.93s8.498,63.855-14.625,71.074c-23.125,7.221-54.068-12.895-69.115-44.928 S311.965,381.183,335.088,373.962z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M209.983,9.426c87.495,4.372,158.857,76.303,158.857,160.122c0,46.699-22.158,87.484-56.91,113.702 c22.268,46.217,33.992,89.483,14.348,125.051c4.02-7.537,6.611-15.313,8.555-23.193c11.648,26.85,14.068,52.875-6.887,75.711 c-64.363,13.082-86.986-18.811-194.209-8.391l-3.699-107.049l-0.92-22.406l0.873,22.42c-22.874-5.814-45.173-11.861-65.204-17.99 l10.062-44.714l49.898,2.646c-43.949-22.82-74.717-76.747-73.621-131.665C51.125,69.85,122.487,5.053,209.983,9.426L209.983,9.426z "></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M127.866,299.414c53.621-10.396,87.391,17.968,94.62,65.603c4.205,55.014-54.168,83.619-90.647,43.756L127.866,299.414 L127.866,299.414z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M129.575,285.055c66.294-2.505,120.602-16.571,186.912-12.424c7.652,1.256,7.152,14.774-1.5,16.288 c-60.402-0.255-119.506,7.59-181.203,10.898c-14.98-0.357-17.425-6.778-13.476-11.896C123.096,284.311,125.291,285.217,129.575,285.055L129.575,285.055z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M304.605,309.06c-8.162-29.413-11.222-57.848-11.791-87.262c-17.005,8.999-41.066-6.278-40.584-17.486 c-7.021,31.961-10.248,65.548-9.677,100.763"></path> <ellipse fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" cx="279.449" cy="193.855" rx="30.133" ry="30.788"></ellipse> <circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" cx="90.681" cy="49.358" r="27.412"></circle> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M124.459,285.183c-36.085-18.873-63.232-58.725-71.063-102.821c-0.052-0.295-0.019-0.163-0.069-0.457 c-43.423-5.859-35.264-73.124,0.427-55.668c0.067-0.353,0.019-0.145,0.088-0.496c8.143-41.139,34.012-75.528,69.743-96.045 c98.492,58.677,146.511,142.883,108.603,245.678c-33.24,3.419-66.109,8.303-102.612,9.683C127.472,285.135,125.873,284.957,124.459,285.183L124.459,285.183z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d="M116.536,84.903c15.737,3.062,31.281,7.092,46.398,13.256"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d="M106.601,103.6c18.341,9.617,40.867,18.074,61.067,27.228"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d="M89.075,124.2c17.643,12.621,37.999,25.581,60.603,38.823"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d="M73.603,179.492c6.986,16.398,13.1,33.481,21.251,48.996c17.011,32.372,42.229,39.539,76.563,39.358 c39.524-0.208,50.969-18.655,47.774-57.118C215.006,160.335,155.059,151.715,73.603,179.492L73.603,179.492z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M219.192,210.728c-4.165-50.15-63.557-58.928-144.414-31.635c-65.936,21.271-63.065-77.932-17.728-51.101"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M128.618,261.235c2.627-35.702,22.275-49.91,52.536-47.821c-5.862,4.452-11.342,9.899-14.83,16.185 c13.539-21.654,32.21-27.477,53.206-13.829c1.774,35.034-10.356,51.879-48.112,52.077C155.131,267.931,140.898,266.362,128.618,261.235L128.618,261.235z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M173.097,17.836c8.253,8.589,0.384,26.394-17.518,39.635c-17.901,13.242-39.232,17.036-47.484,8.448 c-8.253-8.589-0.384-26.395,17.517-39.635C143.514,13.042,164.844,9.248,173.097,17.836L173.097,17.836z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M136.222,26.971c2.455,2.555,0.114,7.852-5.211,11.791c-5.326,3.939-11.672,5.068-14.127,2.514 c-2.455-2.556-0.114-7.853,5.211-11.791C127.421,25.544,133.767,24.416,136.222,26.971L136.222,26.971z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" d="M90.681,22.774c1.076,0,2.138,0.063,3.183,0.187 c-0.154,3.607-3.144,6.503-6.788,6.503c-3.034,0-5.614-2.008-6.483-4.761C83.718,23.458,87.122,22.774,90.681,22.774L90.681,22.774 z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d=" M133.591,410.618c-0.59-0.598-1.174-1.213-1.753-1.846l-2.156-59.363c14.439-5.217,36.941-4.068,65.022,1.484C198.269,391.583,158.652,421.507,133.591,410.618L133.591,410.618z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" d="M94.52,343.827c23.684,0,46.699,27.789,51.407,62.068s-10.676,62.068-34.359,62.068s-46.699-27.789-51.407-62.068 S70.835,343.827,94.52,343.827z"></path> <circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" cx="45.643" cy="299.778" r="33.549"></circle> <line fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" x1="330.418" y1="358.101" x2="350.104" y2="352.659"></line> <circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.8347" stroke-miterlimit="2.4142" cx="356.516" cy="351.396" r="9.241"></circle> <circle fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.2677" stroke-miterlimit="2.4142" cx="144.495" cy="309.078" r="11.591"></circle> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="2.2677" stroke-miterlimit="2.4142" d=" M155.516,305.494c0.344,1.052,0.54,2.168,0.566,3.322l-23.157-0.421c0.067-1.153,0.305-2.262,0.687-3.3L155.516,305.494 L155.516,305.494z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" d="M134.718,315.29c-0.978-1.533-1.605-3.309-1.771-5.207 c0.481-0.335,1.067-0.533,1.701-0.533c1.619,0,2.938,1.291,2.938,2.871C137.587,313.979,136.305,315.253,134.718,315.29 L134.718,315.29z"></path> <path fill-rule="evenodd" clip-rule="evenodd" fill="none" stroke="#000000" stroke-width="0.216" stroke-miterlimit="2.4142" d="M136.491,313.87c1.044,1.918,2.604,3.514,5.015,4.564l-1.693,2.01l-5.378-5.162L136.491,313.87L136.491,313.87z"></path> </svg> </div> <script> (function() { function toArray(arr) { return Array.prototype.slice.call(arr); } var svg2 = document.querySelector('.move_line2 svg'); svg2.parentNode.style.display = 'block'; svg2.style.visibility = 'hidden'; function fullSketch() { svg2.style.visibility = ''; var paths = toArray(svg2.children); var begin = 0; var durations = paths.map(function(path2) {  var length;  console.log(path2.tagName);  if(path2.tagName == "path"){  length = path2.getTotalLength();  }else if(path2.tagName == "ellipse"){  length = Math.PI*path2.getAttribute("rx")*path2.getAttribute("ry");  }else if(path2.tagName == "circle"){  length = 2*Math.PI*path2.getAttribute("r");  }else if(path2.tagName == "line"){  var x_1=path2.getAttribute("x1"),y_1=path2.getAttribute("y1"),x_2=path2.getAttribute("x2"),y_2=path2.getAttribute("y2");  length = Math.sqrt(Math.pow((x_1-x_2),2) + Math.pow((y_1-y_2),2));  }  path2.style.strokeDasharray = length + ' ' + length;  path2.style.strokeDashoffset = length;  return Math.pow(length, 0.5) * 0.02; }); paths[0].getBoundingClientRect(); paths.forEach(function(path, i) {  path.style.transition = path.style.WebkitTransition = 'stroke-dashoffset ' + durations[i] + 's ' + begin + 's ease-in-out';  path.style.strokeDashoffset = '0';  path.setAttribute("class", "shade");  begin += durations[i] + 0.1; }); } window.addEventListener('load', fullSketch); }()); </script>

以上就是本文的全部內容,希望本文的內容對大家的學習或者工作能帶來一定的幫助,同時也希望多多支持武林網!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日韩欧美综合在线视频| 伊人伊人伊人久久| 国产成人a亚洲精品| 亚洲一区二区久久久久久久| 久久久精品免费| 日韩有码视频在线| 亚洲欧美制服综合另类| 国产成+人+综合+亚洲欧洲| 国产精品亚洲第一区| 国产精品精品视频一区二区三区| 欧美大肥婆大肥bbbbb| 国产精品吊钟奶在线| 国产香蕉一区二区三区在线视频| 91系列在线观看| 欧美日韩免费看| 欧美亚洲伦理www| 国产成人精品午夜| 亚洲精品中文字幕女同| 91精品国产91久久久久久| 欧美日韩激情视频| 庆余年2免费日韩剧观看大牛| 国产精品久久久久aaaa九色| 国产视频精品久久久| 欧美激情第一页xxx| 一区二区三区天堂av| 欧美亚洲国产日韩2020| 亚洲国产精品女人久久久| 亚洲天堂开心观看| 亚洲国产成人精品一区二区| 欧美伊久线香蕉线新在线| 91香蕉嫩草神马影院在线观看| 国产精品视频精品视频| 国产美女精品免费电影| 成人写真福利网| 亚洲成人在线网| 久久免费观看视频| 国产欧美精品一区二区三区介绍| 欧美大全免费观看电视剧大泉洋| 亚洲男人av电影| 2019中文字幕全在线观看| 欧美日韩一区二区精品| 亚洲乱亚洲乱妇无码| 日韩女优人人人人射在线视频| 成人久久一区二区三区| 国产视频丨精品|在线观看| 亚洲男人天堂古典| 日韩精品在线视频| 精品国产999| 国产精品国产三级国产专播精品人| 亚洲经典中文字幕| 久久99青青精品免费观看| 在线视频中文亚洲| 欧美在线观看网站| 国产精品xxxxx| 欧美激情国内偷拍| 最近的2019中文字幕免费一页| 国产精品日韩电影| 欧美一区二区三区免费视| 欧美大胆a视频| 成人网在线免费看| 亚洲精品网站在线播放gif| 日韩免费视频在线观看| 亚洲欧美日韩一区在线| 欧美一级淫片aaaaaaa视频| 国产精品久久一区主播| 日韩精品中文在线观看| 97视频在线观看免费| 日韩免费av一区二区| 韩国日本不卡在线| 欧美日韩性视频| 亚洲国产私拍精品国模在线观看| 欧美另类在线播放| 亚洲在线免费看| 久久精品国产久精国产一老狼| 在线日韩中文字幕| 国产有码在线一区二区视频| 91久久在线视频| 九九热精品视频| 亚洲欧美国产日韩天堂区| 中文字幕无线精品亚洲乱码一区| 日韩高清av在线| 欧美在线视频免费播放| 欧美肥老妇视频| 97视频国产在线| 中文字幕日韩有码| 国产成人精品电影久久久| 日韩av快播网址| 欧美成人精品在线视频| 久久香蕉频线观| 国产一区二区欧美日韩| 国产成人精品视频| 精品久久久久久久久久久久久久| 97在线视频免费看| 亚洲激情在线视频| 欧美日韩在线看| 欧美在线免费看| 欧美电影免费观看| 日韩欧美在线免费观看| 日韩av免费网站| 亚洲www在线| 国产精品高清在线观看| 精品无码久久久久久国产| 日韩高清电影免费观看完整| 日韩女优人人人人射在线视频| 亚洲成色777777在线观看影院| 色诱女教师一区二区三区| 国产精品十八以下禁看| 亚洲色图av在线| 欧美—级高清免费播放| 久久久精品久久久久| 日本高清+成人网在线观看| 欧美黑人又粗大| 国产精品入口夜色视频大尺度| 欧美电影免费观看高清完整| 国产一区在线播放| 在线播放国产一区中文字幕剧情欧美| 精品综合久久久久久97| 亚洲第一区在线| 亚洲欧洲一区二区三区在线观看| 在线日韩第一页| 亚洲精品成人久久电影| 亚洲综合在线做性| 国产成人免费91av在线| 在线视频欧美日韩精品| 91精品国产91| 国产精品小说在线| 中文字幕亚洲色图| 亚洲无av在线中文字幕| 亚洲国产欧美一区二区三区同亚洲| 日韩中文字幕国产精品| 国产精品久久一区主播| 亚洲二区中文字幕| 91高潮在线观看| 91精品成人久久| 一本大道香蕉久在线播放29| 久久精品国产欧美激情| 欧美日韩成人黄色| 欧美在线视频a| 成人淫片在线看| 97在线观看免费高清| 亚洲xxx大片| 亚洲第一福利网站| www.日韩欧美| 亚洲国产私拍精品国模在线观看| 久久中文字幕国产| 国产精品久久久亚洲| 激情亚洲一区二区三区四区| 亚洲精品不卡在线| 韩日欧美一区二区| 欧美亚洲国产视频小说| 国产不卡视频在线| 欧美激情一区二区三区在线视频观看| 色悠久久久久综合先锋影音下载| 欧美精品在线观看| 国产欧美婷婷中文| 国产欧美日韩精品专区| 日韩av网址在线| 亚洲**2019国产| 日韩欧亚中文在线| 精品久久久视频| 日韩亚洲欧美中文在线| 色婷婷**av毛片一区| 91精品国产综合久久香蕉的用户体验| 91精品国产高清自在线看超|