Старт

Для начала предлагаю посмотреть саму анимацию:

И траекторию движения анимации:

Понравилось? Тогда вот ссылка на демо и для скачивания примера.

Как использовать

Подключаем JavaScript перед закрывающимся тегом </head>:

  1. <head>
  2. <!-- ... -->
  3. <!--[if IE]>
  4. <script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
  5. <![endif]-->
  6. <script src="/pathToFolder/js/segment.min.js"></script>
  7. <script src="/pathToFolder/js/ease.min.js"></script>
  8. <!-- ... -->
  9. </head>

Подключаем JavaScript перед закрывающимся тегом </body>:

  1. <body>
  2. <!--...-->
  3. <script src="js/main.js"></script>
  4. </body>

Подключаем CSS перед закрывающимся тегом </head>:

  1. <head>
  2. <!-- ... -->
  3. <link rel="stylesheet" type="text/css" href="/pathToFolder/css/demo.css" />
  4. <link rel="stylesheet" type="text/css" href="/pathToFolder/css/component.css" />
  5. <!-- ... -->
  6. </head>

И подключаем код меню. Большой размах анимации:

  1. <div id="menu-icon-wrapper" class="menu-icon-wrapper" style="visibility: hidden">
  2. <svg width="1000px" height="1000px">
  3. <path id="pathA" d="M 300 400 L 700 400 C 900 400 900 750 600 850 A 400 400 0 0 1 200 200 L 800 800"></path>
  4. <path id="pathB" d="M 300 500 L 700 500"></path>
  5. <path id="pathC" d="M 700 600 L 300 600 C 100 600 100 200 400 150 A 400 380 0 1 1 200 800 L 800 200"></path>
  6. </svg>
  7. <button id="menu-icon-trigger" class="menu-icon-trigger"></button>
  8. </div>
  9.  
  10. <div id="dummy" class="dummy">
  11. <div class="dummy__item"></div>
  12. <div class="dummy__item"></div>
  13. <div class="dummy__item"></div>
  14. <div class="dummy__item"></div>
  15. </div>

Анимация размером с иконкой:

  1. <div id="menu-icon-wrapper2" class="menu-icon-wrapper" style="visibility: hidden">
  2. <svg width="1000px" height="1000px">
  3. <path id="pathD" d="M 300 400 L 700 400 C 900 400 900 750 600 850 A 400 400 0 0 1 200 200 L 800 800"></path>
  4. <path id="pathE" d="M 300 500 L 700 500"></path>
  5. <path id="pathF" d="M 700 600 L 300 600 C 100 600 100 200 400 150 A 400 380 0 1 1 200 800 L 800 200"></path>
  6. </svg>
  7. <button id="menu-icon-trigger2" class="menu-icon-trigger"></button>
  8. </div>
  9.  
  10. <div id="dummy2" class="dummy">
  11. <div class="dummy__item"></div>
  12. <div class="dummy__item"></div>
  13. <div class="dummy__item"></div>
  14. <div class="dummy__item"></div>
  15. </div>

Поддержка браузеров

Chrome FireFox IE 9+ Safari Opera

Скачать

Проект на Github: https://github.com/codrops/AnimatedMenuIcon.