Главная » Шпаргалка » PHP MYSQL javascript » jQuery » Мега меню с помощью jQuery

Мега меню с помощью jQuery

http://www.ruseller.com/lessons/les396/example/index.html



В сегодняшнем уроке Вы узнаете как сделать функциональное мега меню для Вашего сайта.

Мега меню - это меню с выпадающими подменю, в которых обычно находится несколько колонок ссылок. Подобные меню очень полезны для разного типа онлайн магазинов, так как возможно в меню указать практически все категории товаров. Для других сайтов подобные меню также подойдут.

Данное меню хорошо тем, что можно прикрепить его к любой ссылке. Это наглядно показано в демо версии.
    

В самом начале документа вставляем фреймворк jQuery, таблицу стилей и вспомогательную функцию.

Javascript

<script type="text/javascript" src="jquery.min.js"></script>
      <link rel="stylesheet" type="text/css" href="jkmegamenu.css" />
      <script type="text/javascript" src="jkmegamenu.js"></script>
<script type="text/javascript">

      jkmegamenu.definemenu("megaanchor", "megamenu1", "mouseover")
</script>

В коде выше Вы можете найти значение "mouseover". Его можно заменить на "click" и тогда меню будет открываться не при наведении, а при нажатии на ссылку.

Если на странице будет несколько меню, тогда необходимо будет несколько раз их инициализировать. Для этого достаточно нужное количество раз повторить строку jkmegamenu.definemenu() с классами, которые относятся к этому меню.

Далее в любом месте документа вставляем ссылку с id="megaanchor". Именно при наведении мышки на эту ссылку у нас будет появляться меню. После ссылки необходимо оформить разметку меню. Как Вы видите, все предельно просто: с помощью заголовков 3-го уровня и неупорядоченных списков мы можем создать любую конфигурацию.

HTML

<a href="#" id="megaanchor">Это Мега Меню :)</a>
....
....
<div id="megamenu1" class="megamenu">
<div class="column">

  <h3>Web Development</h3>
  <ul>
  <li><a href="#">JavaScript Kit</a></li>
  <li><a href="#">Dynamic Drive</a></li>
  <li><a href="#">CSS Drive</a></li>

  <li><a href="#">Coding Forums</a></li>
  <li><a href="#">DOM Reference</a></li>
  </ul>
  </div>
<div class="column">
  <h3>News Related</h3>
  <ul>
  <li><a href="#">CNN</a></li>
  <li><a href="#">MSNBC</a></li>
  <li><a href="#">Google</a></li>
  <li><a href="#">BBC News</a></li>
  </ul>
  </div>
<div class="column">
  <h3>Technology</h3>
  <ul>
  <li><a href="#">News.com</a></li>
  <li><a href="#">SlashDot</a></li>
  <li><a href="#">Digg</a></li>
  <li><a href="#">Tech Crunch</a></li>
  </ul>
  </div>
<br style="clear: left" /> <!--Break after 3rd column. Move this if desired-->
<div class="column">
  <h3>Web Development</h3>
  <ul>
  <li><a href="#">JavaScript Kit</a></li>
  <li><a href="#">Dynamic Drive</a></li>
  <li><a href="#">CSS Drive</a></li>
  <li><a href="#">Coding Forums</a></li>
  <li><a href="#">DOM Reference</a></li>
  </ul>
  </div>
<div class="column">
  <h3>News Related</h3>
  <ul>
  <li><a href="#">CNN</a></li>
  <li><a href="#">MSNBC</a></li>
  <li><a href="#">Google</a></li>
  <li><a href="#">BBC News</a></li>
  </ul>
  </div>
<div class="column">
  <h3>Technology</h3>
  <ul>
  <li><a href="#">News.com</a></li>
  <li><a href="#">SlashDot</a></li>
  <li><a href="#">Digg</a></li>

  <li><a href="#">Tech Crunch</a></li>
  </ul>
  </div>
</div>

С помощью стилей придаем данному блоку относительное позиционирование. Благодаря этому можем размещать дополнительные блоки внутри.

В скрипте jkmegamenu.js есть два значения, которые можно изменить для модификации скорости и продолжительности появления меню:

effectduration: 300, //продолжительность анимации в милисекундах
      delaytimer: 200, //задержка перед тем, как меню должно спрятаться в милисекундах    

На сегодня все! Хороших Вам выходных!