jQuery - Drawsvg.js

Drawsvg.js è un plugin jQuery per disegnare immagini in formato SVG

Un semplice esempio di drawsvg come mostrato di seguito -

<!DOCTYPE html>
<html lang = "en">
   <head>
      <meta charset = "UTF-8">
      <link rel = "shortcut icon" type = "image/x-icon" href = "favicon.ico">
      <link rel = "stylesheet" 
         href = "https://fonts.googleapis.com/css?family=Open+Sans:400,600">
      <link rel = "stylesheet" href = "style.css">
   </head>
	
   <body>
      <div class = "intro">
         <div class = "container">
            <div class = "overlay">
               <div class = "inner">
                  <h1>jQuery DrawSVG Sample</h1>

                  <div class = "items-wrapper">
                     <div class ="item active">
                        <svg viewBox = "0 0 201 146" class = "svgClass" 
                           style = "background-color:#ffffff00" 
                              xmlns = "https://www.w3.org/2000/svg" width = "201"
                              height = "146">
									
                           <g stroke = "#FFF" stroke-width = "1" fill = "none">
                              <path d = "M200.5 128.586c0 9.302-7.678
                                 16.914-17.06 16.914H17.56C8.18 145.5.5 
                                 137.888.5 128.586V29.414C.5 20.112 8.178 
                                 12.5 17.56 12.5h165.88c9.382 0 17.06 
                                 7.612 17.06 16.914v99.172z"/>
											
                              <path d = "M183.828 80.118c0 26.467-21.644 
                                 47.924-48.34 47.924-26.698 
                                 0-48.342-21.457-48.342-47.924s21.644-47.924 
                                 48.34-47.924c26.698 0 48.342 21.457 48.342
                                 47.924z"/>
											
                              <path d = "M171.98 80.118c0 19.978-16.338
                                 36.177-36.493 36.177-20.15 
                                 0-36.49-16.2-36.49-36.177 0-19.98 
                                 16.34-36.177 36.49-36.177 20.155 0 
                                 36.494 16.2 36.494 36.178z"/>
											
                              <path d = "M50.18 48.637c0 6.49-5.304 
                                 11.747-11.852 11.747-6.543
                                 0-11.847-5.258-11.847-11.747  0-6.488 
                                 5.305-11.746 11.848-11.746 6.548 0 11.852 
                                 5.26 11. 852 11.747z"/>
											
                              <path d = "M17.928 39.877c3.41-7.835 
                                 11.258-13.305 20.416-13.305 9.16 0 17.006 
                                 5.47 20.416 13.305"/>
											
                              <path d = "M46 12V4H26v8"/>
                              <path d = "M94.833 12l11.5-11.5h59.5l11.5 11.5"/>
                              <path d = "M26.333 92.5h35.5"/>
                              <path d = "M26.333 105.5h43"/>
                              <path d = "M26.333 117.5h52"/>
                           </g>
									
                        </svg>
                     </div>

                     <div class = "item">
                        <svg viewBox = "0 0 207 105" style = "background-color:#ffffff00" 
                           xmlns = "https://www.w3.org/2000/svg" width = "207" 
                           height = "105">
								
                           <g stroke = "#FFF" stroke-width = "1" fill = "none">
                              <path d = "M127 63.496C127 85.306 144.455 
                                 103 165.998 103 187.538 103 205 85.306 
                                 205 63.496 205 41.682 187.537 24 165.998
                                 24 144.455 24 127 41.682 127 63.496z"/>
											
                              <path d = "M195 63.497C195 47.206 182.015 34 166 34"/>
										
                              <path d = "M2 63.496C2 85.306 19.455 103 
                                 41.002 103 62.542 103 80 85.306 80 63.496 
                                 80 41.682 62.54 24 41.002 24 19.455 24 2
                                 41.682 2 63.496z"/>
											
                              <path d = "M64.296 22.732C57.656 18.094 
                                 47.492 16 41.002 16c-6.49 0-12.675 
                                 1.33-18.3 3.732-5.622 2.404-10.686 
                                 5.88-14.938 10.178"/>
											
                              <path d = "M159.715 63.576c0 3.634 2.902 
                                 6.575 6.49 6.575 3.582 0 6.484-2.94 
                                 6.484-6.574 0-3.63-2.903-6.575-6.486-6.575-3.587
                                 0-6.49 2.946-6.49 6.576z"/>
											
                              <path d = "M34.873 64.032c0 3.63 2.907 
                                 6.575 6.494 6.575 3.578 0 6.485-2.945 
                                 6.485-6.575  0-3.635-2.907-6.575-6.485-6.575-3.587 
                                 0-6.494 2.94-6.494 6.575z"/>
											
                              <path d = "M163.25 57.026L141.773 3"/>
                              <path d = "M98 63.5H48"/>
                              <path d = "M101.73 57.63L70.5 14.013"/>
                              <path d = "M70.49 14.5h76.646v-.206"/>
                              <path d = "M139.134 14.505L108.468 57.95"/>
                              <path d = "M70.894 15.05L42.834 57.05"/>
                              <path d = "M70.5 14V3"/>
                              <path d = "M141.427 3.23s19.83-7.71 19.83 6.344"/>
										
                              <path d = "M97.816 62.52c0 3.576 2.86 6.475 
                                 6.39 6.475s6.392-2.9 
                                 6.392-6.476c0-3.577-2.86-6.476-6.39
                                 -6.476s-6.392 2.9-6.392 6.476z"/>
											
                              <path d = "M106.642 69.26l2.913 11.044"/>
                              <path d = "M105 83l10-5"/>
                              <path d = "M62.5 3.5h18"/>
                           </g>
									
                        </svg>
                     </div>

                     <div class = "item">
                        <svg viewBox = "0 0 201 116" style = "background-color:#ffffff00" 
                           xmlns = "https://www.w3.org/2000/svg" width = "201" 
                           height = "116">
									
                           <g stroke = "#FFF" stroke-width = "1" fill = "none">
                              <path d = "M19.5 101.5V6.45C19.5 3.176 23.12.5 
                                 26.402.5H175.53c3.282 0 5.97 2.677 5.97
                                 5.95v95.05"/>
											
                              <path d = "M171.5 89.5h-140v-77h140v77z"/>
										
                              <path d = "M200.5 107.526c0 1.635-1.344 
                                 2.974-2.985 2.974H3.485c-1.64 
                                 0-2.985-1.34-2.985-2.974v-3.052c0-1.635
                                 1.344-2.974 2.985-2.974h194.03c1.64 0 2.985 
                                 1.34 2.9852.974v3.052z"/>
											
                              <path d = "M1 110l10.5 5.5"/>
                              <path d = "M11.604 115.5H189.46"/>
                              <path d = "M189.5 115.5l9.5-5.5"/>
                              <path d = "M99.5 7.5h5"/>
                              <path d = "M138.5 12.5l28 28"/>
                              <path d = "M148.5 12.5l18 18"/>
                              <path d = "M159.5 12.5l7 6"/>
                           </g>
									
                        </svg>
                     </div>

                     <div class = "item">
                        <svg viewBox = "0 0 200 155" style = "background-color:#ffffff00" 
                           xmlns = "https://www.w3.org/2000/svg" width = "200" 
                           height = "155">
									
                           <g stroke = "#FFF" stroke-width = "1" fill = "none">
                              <path d="M161.996 151.39l-33.97-27.178-45.01 
                                 30.576-35.67-27.603L.36 154.245 38.662 20.04 
                                 80.893 4.034l39.066 17.41L161.995.213l37.792 
                                 22.932-37.792 128.246z"/>
											
                              <path d = "M47.346 127.185L80.892 4.035"/>
                              <path d = "M83.015 154.788l36.942-133.343"/>
                              <path d = "M128.025 124.212l33.97-124"/>
                              <path d = "M46.278 23.935L32.29 75.605"/>
                              <path d = "M95.802 45.718L81.19 97.225"/>
                              <path d = "M106.91 33.115l-22.26 81.39"/>
										
                              <path d = "M176.768 46.665c0 3.523-2.85
                                 6.376-6.366 6.376-3.514 0-6.364-2.852
                                 -6.364-6.375 0-3.512 2.85-6.37
                                 6.364-6.37 3.516 0 6.366 2.858 
                                 6.366 6.37z"/>
											
                              <path d = "M180.9 52.392l-10.844 
                                 19.91-10.394-19.995s-1.143-3.215-1.
                                 143-5.067c0-6.514 5.273-11.81 11.79-11.81 
                                 6.508 0 11.782 5.296 11.782 11.81 
                                 0 1.852-1.192 5.152-1.192 5.152z"/>
											
                              <path d = "M43.86 92.528c0 3.523-2.85 
                                 6.376-6.367 6.376-3.514 0-6.364-2.
                                 853-6.364-6.376 0-3.512 2.85-6.37 
                                 6.363-6.37 3.517 0 6.366 2.858 
                                 6.366 6.37z"/>
											
                              <path d = "M47.99 98.255l-10.843 19.91L26.754 
                                 98.17s-1.143-3.215-1.
                                 143-5.067c0-6.514 5.275-11.81 
                                 11.793-11.81 6.507 0 11.78 5.296 
                                 11.78 11.81 0 1.852-1.192 
                                 5.152-1.192 5.152z"/>
                           </g>
									
                        </svg>
                     </div>
							
                  </div>
               </div>
            </div>
         </div>
      </div>
		
      <div id = "fb-root"></div>
      <script async src = "//assets.codepen.io/assets/embed/ei.js">
      </script>
      <script src = "https://cdn.jsdelivr.net/jquery/1.11.3/jquery.min.js">
      </script>
      <script 
         src = "https://cdn.jsdelivr.net/jquery.easing/1.3/jquery.easing.1.3.min.js">
      </script>
      <script src = "jquery.drawsvg.min.js"></script>
		
      <script>
         $(function() {

            var $doc = $(document),
            $win = $(window);

            var $intro = $('.intro'),
            $items = $intro.find('.item'),
            itemsLen = $items.length,
				
            svgs = $intro.find('svg').drawsvg({
               callback: animateIntro,
               easing: 'easeOutQuart'
            }),
				
            currItem = 0;

            function animateIntro() {
               $items.removeClass('active').eq( currItem++ % itemsLen 
                  ).addClass('active').find('svg').drawsvg('animate');
            }

            animateIntro();

            var $header = $('header'),
            headerOffTop = $header.offset().top,
            isFixed = false;

            function menu() {
               if ( $win.scrollTop() >= headerOffTop ) {
                  if ( !isFixed ) {
                     isFixed = true;
                     $header.addClass('affix');
                  }
               } else if ( isFixed ) {
                  isFixed = false;
                  $header.removeClass('affix');
               }
            }

            $win.on('scroll', menu);
            menu();

            $header.on('click', 'a[href^="#"]', function(e) {
               e.preventDefault();

               var hash = this.hash,
               offset = $(hash).offset().top;

               $('body, html').animate({
                  scrollTop: offset
               }, 600, 'easeInOutQuart', function() {
                  document.location.hash = hash;
               });
            });

         });
      </script>
   </body>
</html>

Questo dovrebbe produrre il seguente risultato:

Clicca qui