Svg animation draw
How do I make an svg animation draw?
What is a svg animation draw? How do you make a svg animation draw? This script and codes were developed by Szymon Dziewoński on 23 December 2022, Friday.
Svg animation draw - Script Codes HTML Codes
<!DOCTYPE html>
<html >
<head> <meta charset="UTF-8"> <title>Svg animation draw</title> <link rel="stylesheet" href="css/style.css">
</head>
<body> <li class="portfolioLogo"> <figure class="drawings mud"> <img class="illustration" src="http://szymondziewonski.com/pictures/work/mud/logo.png" alt="" /> <svg class="line-drawing" id="mud" width="180" height="180" preserveAspectRatio="xMidYMid meet" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 180 180"> <g> <path fill="#ffffff" opacity="1.00" d=" M 36.10 46.28 C 46.57 35.60 60.92 28.74 75.86 27.57 C 92.90 25.90 110.46 31.64 123.34 42.91 C 134.75 52.65 142.05 66.60 144.70 81.28 C 148.28 83.60 151.85 85.98 154.82 89.09 C 153.87 98.30 150.64 109.49 141.16 113.20 C 138.81 118.56 133.67 121.96 128.06 123.11 C 129.38 120.72 130.38 118.19 131.21 115.60 C 129.43 115.64 127.55 116.05 125.87 115.30 C 122.22 113.56 121.49 108.64 117.95 106.91 C 114.41 107.07 113.81 111.56 113.79 114.33 C 113.29 114.59 112.80 114.85 112.31 115.12 C 112.75 121.07 113.73 127.22 117.73 131.95 C 115.82 132.61 113.88 133.14 111.95 133.75 C 114.34 133.83 116.63 133.13 118.58 131.75 C 113.55 127.72 116.62 120.52 113.19 115.66 C 113.88 115.34 114.58 115.02 115.28 114.71 C 119.69 119.08 116.46 125.89 120.02 130.63 C 123.05 128.92 124.85 125.88 126.68 123.05 C 127.99 124.70 128.07 126.85 128.44 128.84 C 129.54 127.22 130.64 125.59 131.83 124.03 C 132.27 132.01 125.72 137.53 119.99 141.92 C 99.67 157.87 69.36 159.00 47.64 145.13 C 48.55 138.93 54.14 135.07 59.37 132.56 C 68.84 128.26 79.77 126.61 89.96 129.07 C 91.93 133.27 91.61 138.26 89.00 142.11 C 91.38 142.82 93.76 143.53 96.16 144.18 C 95.50 145.22 94.85 146.26 94.20 147.30 C 101.91 147.88 111.37 147.07 116.26 140.24 C 113.36 140.67 109.83 141.83 107.33 139.64 C 104.69 136.79 104.44 132.36 101.34 129.85 C 97.17 126.16 93.19 120.89 93.83 115.03 C 96.00 110.08 102.57 111.09 106.52 108.50 C 110.88 105.54 116.29 102.86 121.66 104.42 C 125.50 105.88 124.48 112.07 128.94 112.57 C 134.94 111.49 140.62 108.94 145.89 105.92 C 146.10 103.97 146.58 102.03 146.44 100.07 C 143.78 97.52 140.67 95.50 137.73 93.30 C 139.55 91.83 141.95 91.46 144.10 90.68 C 146.08 91.44 148.10 92.58 150.29 91.97 C 147.25 84.93 139.36 81.85 133.05 78.34 C 129.01 79.88 124.94 81.39 120.88 82.88 C 123.60 80.48 126.59 78.40 129.46 76.19 C 127.77 71.42 125.73 66.79 123.80 62.12 C 114.27 57.69 104.72 53.27 95.35 48.52 C 92.57 46.33 91.38 42.68 88.81 40.28 C 81.06 37.66 72.96 36.31 64.96 34.67 C 66.00 38.41 67.38 42.06 68.50 45.78 C 69.87 46.73 71.26 47.64 72.65 48.56 C 72.25 49.25 71.44 50.63 71.04 51.32 C 60.42 45.68 47.88 43.79 36.10 46.28 M 96.24 117.13 C 96.46 123.04 102.02 126.38 105.49 130.44 C 107.31 132.26 107.10 135.34 109.19 136.92 C 110.69 137.79 112.46 138.07 114.11 138.55 C 113.43 136.53 110.72 138.01 109.50 136.44 C 108.14 134.54 108.20 131.95 106.86 130.00 C 104.26 126.15 99.83 123.57 98.31 118.99 C 97.86 117.71 97.57 115.64 99.23 115.11 C 102.17 113.95 105.23 113.02 107.90 111.26 C 104.12 113.33 97.44 111.86 96.24 117.13 Z" /> <path fill="#ffffff" opacity="1.00" d=" M 68.83 39.04 C 73.36 39.72 77.62 41.46 82.05 42.57 C 86.76 43.36 90.08 47.15 92.86 50.73 C 88.93 48.92 85.12 46.87 81.21 45.00 C 81.63 46.06 82.47 48.18 82.89 49.23 C 81.58 51.29 80.13 53.26 78.60 55.15 C 77.52 51.37 76.70 47.48 75.13 43.86 C 73.29 41.95 70.81 40.81 68.83 39.04 Z" /> <path fill="#ffffff" opacity="1.00" d=" M 98.16 63.32 C 100.59 63.15 102.74 64.34 104.88 65.29 C 104.46 66.51 103.68 66.62 102.55 65.63 C 101.05 64.93 99.55 64.21 98.16 63.32 Z" /> <path fill="#ffffff" opacity="1.00" d=" M 105.32 67.30 C 105.62 66.56 105.96 65.86 106.36 65.17 C 112.32 68.30 118.94 69.95 125.18 72.43 C 121.86 74.49 118.32 76.16 114.83 77.93 L 114.67 76.28 C 113.08 76.26 111.49 76.25 109.91 76.24 C 107.34 73.05 104.72 69.91 102.20 66.69 C 104.79 67.53 107.42 68.30 110.10 68.80 C 108.65 67.94 107.01 67.39 105.32 67.30 Z" /> <path fill="#ffffff" opacity="1.00" d=" M 29.00 75.57 C 50.53 70.34 74.22 71.29 94.16 81.60 C 99.22 84.43 104.45 87.30 108.47 91.55 C 107.65 91.85 106.02 92.45 105.20 92.75 C 83.24 76.64 54.49 71.33 27.91 76.30 C 28.18 76.12 28.73 75.75 29.00 75.57 Z" /> <path fill="#ffffff" opacity="1.00" d=" M 53.13 81.38 C 57.16 79.69 61.69 80.36 65.92 80.78 C 78.88 82.63 90.91 88.56 101.66 95.82 C 100.43 96.42 99.19 97.00 97.96 97.59 C 86.81 93.78 74.97 91.00 63.13 92.34 C 56.84 92.90 50.74 94.66 44.78 96.69 C 59.38 88.25 77.96 87.68 93.60 93.61 C 93.08 92.92 92.46 92.27 91.46 92.36 C 79.36 86.91 66.65 81.30 53.13 81.38 Z" /> </g> </svg> </figure> </li> <script src='http://cdnjs.cloudflare.com/ajax/libs/jquery/2.1.3/jquery.min.js'></script> <script src="js/index.js"></script>
</body>
</html>
Svg animation draw - Script Codes CSS Codes
*{ margin: 0; padding: 0;
}
.portfolioLogo{ width: 180px; height: 180px; list-style-type: none;
}
svg { pointer-events: none;
}
.portfolioLogo{ line-height: none;
}
figure.drawings { margin: 0; padding: 0; position: relative; width: 180px; height: 180px;
}
.illustration { position: absolute; top: 0; left: 0; bottom: 0; right: 0; opacity: 0;
}
.show { opacity: 1;
}
.hide { opacity: 0;
}
.line-drawing,
.illustration { -webkit-transition: opacity 0.5s; transition: opacity 0.5s;
}
.line-drawing path { fill: none;
}
path.line-round { stroke-linecap: butt;
}
.drawings path{ stroke-width: 1;
}
figure.drawings.mud{ background-image: url("http://szymondziewonski.com/pictures/work/mud/logoBg.jpg");
}
figure.mud path{ stroke: #fff;
}
Svg animation draw - Script Codes JS Codes
/** * svganimations.js v1.0.0 * http://www.codrops.com * * the svg path animation is based on http://24ways.org/2013/animating-vectors-with-svg/ by Brian Suda (@briansuda) * * Licensed under the MIT license. * https://www.opensource.org/licenses/mit-license.php * * Copyright 2013, Codrops * http://www.codrops.com */
'use strict'; var docElem = window.document.documentElement; window.requestAnimFrame = function() { return ( window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || window.oRequestAnimationFrame || window.msRequestAnimationFrame || function(/* function */ callback) { window.setTimeout(callback, 1000 / 60); } ); }(); window.cancelAnimFrame = function() { return ( window.cancelAnimationFrame || window.webkitCancelAnimationFrame || window.mozCancelAnimationFrame || window.oCancelAnimationFrame || window.msCancelAnimationFrame || function(id) { window.clearTimeout(id); } ); }(); function SVGEl(el) { this.el = el; this.image = this.el.previousElementSibling; this.current_frame = 0; this.total_frames = 120; this.path = new Array(); this.length = new Array(); this.handle = 0; this.init(); } SVGEl.prototype.init = function() { var self = this; [].slice.call(this.el.querySelectorAll('path')).forEach(function(path, i) { self.path[i] = path; var l = self.path[i].getTotalLength(); self.length[i] = l; self.path[i].style.strokeDasharray = l + ' ' + l; self.path[i].style.strokeDashoffset = l; }); }; SVGEl.prototype.render = function() { if (this.rendered) return; this.rendered = true; this.draw(); }; SVGEl.prototype.draw = function() { var self = this, progress = this.current_frame / this.total_frames; if (progress > 1) { window.cancelAnimFrame(this.handle); this.showImage(); } else { this.current_frame++; for (var j = 0, len = this.path.length; j < len; j++) { this.path[j].style.strokeDashoffset = Math.floor(this.length[j] * (1 - progress)); } this.handle = window.requestAnimFrame(function() { self.draw(); }); } }; SVGEl.prototype.showImage = function() { $(this.image).addClass('show'); $("svg").attr("class", "line-drawing hide"); }; function getViewportH() { var client = docElem['clientHeight'], inner = window['innerHeight']; if (client < inner) return inner; else return client; } function scrollY() { return window.pageYOffset || docElem.scrollTop; } // http://stackoverflow.com/a/5598797/989439 function getOffset(el) { var offsetTop = 0, offsetLeft = 0; do { if (!isNaN(el.offsetTop)) { offsetTop += el.offsetTop; } if (!isNaN(el.offsetLeft)) { offsetLeft += el.offsetLeft; } } while (el === el.offsetParent) return { top: offsetTop, left: offsetLeft }; } function inViewport(el, h) { var elH = el.offsetHeight, scrolled = scrollY(), viewed = scrolled + getViewportH(), elTop = getOffset(el).top, elBottom = elTop + elH, // if 0, the element is considered in the viewport as soon as it enters. // if 1, the element is considered in the viewport only when it's fully inside // value in percentage (1 >= h >= 0) h = h || 0; return (elTop + elH * h) <= viewed && (elBottom) >= scrolled; } function init() { var svgs = Array.prototype.slice.call(document.querySelectorAll('.portfolioLogo svg')), svgArr = new Array(), didScroll = false, resizeTimeout; // the svgs already shown... svgs.forEach(function(el, i) { var svg = new SVGEl(el); svgArr[i] = svg; setTimeout(function(el) { return function() { if (inViewport(el.parentNode)) { svg.render(); } }; }(el), 250); }); var scrollHandler = function() { if (!didScroll) { didScroll = true; setTimeout(function() { scrollPage(); }, 60); } }, scrollPage = function() { svgs.forEach(function(el, i) { if (inViewport(el.parentNode, 0.5)) { svgArr[i].render(); } }); didScroll = false; }, resizeHandler = function() { function delayed() { scrollPage(); resizeTimeout = null; } if (resizeTimeout) { clearTimeout(resizeTimeout); } resizeTimeout = setTimeout(delayed, 200); }; window.addEventListener('scroll', scrollHandler, false); window.addEventListener('resize', resizeHandler, false); } init();

Developer | Szymon Dziewoński |
Username | SzymonDziewonski |
Uploaded | December 23, 2022 |
Rating | 3 |
Size | 5,545 Kb |
Views | 6,069 |
Find the perfect freelance services for your business! Fiverr's mission is to change how the world works together. Fiverr connects businesses with freelancers offering digital services in 500+ categories. Find Developer!
Name | Size |
Random count | 1,930 Kb |
Earth animation | 1,991 Kb |
Animated logo | 1,994 Kb |
Simple loader | 1,919 Kb |
Menu with hover slide effect | 2,026 Kb |
Hover effect | 2,448 Kb |
Hover button | 2,147 Kb |
Social Icons net animation | 2,689 Kb |
Vertical-align | 1,646 Kb |
Jasper is the AI Content Generator that helps you and your team break through creative blocks to create amazing, original content 10X faster. Discover all the ways the Jasper AI Content Platform can help streamline your creative workflows. Start For Free!
Name | Username | Size |
Flexbox slider | Rendro | 3,459 Kb |
Donald Trump - The New Yorker | Agbales | 2,502 Kb |
Nested flexbox layout for library catalog | Boycetrus | 3,271 Kb |
Tumblr API | Juanv911 | 2,436 Kb |
Jstam.com Home Page | Jstam | 10,558 Kb |
Animated Slide Hamburger Mobile Menu | BJack | 2,247 Kb |
Rotate Demo | Agelber | 3,061 Kb |
Intake Form Page 2 | Ijantje | 4,983 Kb |
Halo 5 REQ Guide Bookmarklet | Cwacht | 3,993 Kb |
Table Exercise | Fresco | 9,585 Kb |
Surf anonymously, prevent hackers from acquiring your IP address, send anonymous email, and encrypt your Internet connection. High speed, ultra secure, and easy to use. Instant setup. Hide Your IP Now!