Ноябрь 21, 2014 Запись была обновлена
Многоуровневое выдвигающееся меню — выдвигающееся меню на сайте
Еще один вариант многоуровневого выдвигающегося меню. Данное меню хорошо тем, что не занимает место на странице и может быть вызвано только когда это нужно пользователю. Уровни меню как бы накладываются один на другой когда посетитель перемещается по пунктам меню. На выбор вам предлагается три вида меню: первый вид — это видно перемещение по уровням, второй — перемещение по уровням и при этом можно возвратиться назад по кнопке «назад», ну и третий — это комбинированный первый и второй вид.
Многоуровневое выдвигающееся меню
По поводу выдвигающихся меню также рекомендую посмотреть следующие уроки:
Посмотреть примерСкачать
Давайте посмотрим как сделать такое меню. Начнем с HTML разметки:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | <nav id="mp-menu" class="mp-menu"> <div class="mp-level"> <h2 class="icon icon-world">Все категории</h2> <ul> <li class="icon icon-arrow-left"> <a class="icon icon-display" href="#">Устройства</a> <div class="mp-level"> <h2 class="icon icon-display">Устройства</h2> <ul> <li class="icon icon-arrow-left"> <a class="icon icon-phone" href="#">Мобильные телефоны</a> <div class="mp-level"> <h2>Мобильные телефоны</h2> <ul> <li><a href="#">Super Smart Phone</a></li> <li><a href="#">Thin Magic Mobile</a></li> <li><a href="#">Performance Crusher</a></li> <li><a href="#">Futuristic Experience</a></li> </ul> </div> </li> <li class="icon icon-arrow-left"> <!-- --> </li> <li class="icon icon-arrow-left"> <!-- --> </li> </ul> </li> </ul> <!-- --> </div> </nav> |
Затем добавим основные CSS стили для элементов:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | html, body, .container, .scroller { height: 100%; } .scroller { overflow-y: scroll; } .scroller, .scroller-inner { position: relative; } .container { position: relative; overflow: hidden; background: #34495e; } |
Это позволяет при выдвижении меню не показывать горизонтальный скролл, тем самым весь контент как бы уезжает вправо.
А затем перед закрывающим тегом </body> подключаем необходимые библиотеки:
1 2 3 4 5 | <script src="js/classie.js"></script> <script src="js/mlpushmenu.js"></script> <script> new mlPushMenu( document.getElementById( 'mp-menu' ), document.getElementById( 'trigger' ) ); </script> |
Вывод
Сегодня мы рассмотрели еще один вариант выдвигающегося меню. Другие примеры вы можете найти в начале статье. Этот вариант меню также подойдет для сайтов с дизайном Flat.
Успехов!
С Уважением, Юрий Немец
Источник: http://tympanus.net/codrops/2013/08/13/multi-level-push-menu/
Спасибо за ваше обращение!
Мы свяжемся с вами в течение 2-х часов (график работы: пн-пт, с 10 до 19)
Спасибо! То о чем мечтал!
Евгений, рад что вам пригодился этот вид меню!
А есть возможность сделать так чтобы 1-й уровень меню был всегда виден, при этом оставался частью сайта.
И можно ли например поставить 3 меню на одной странице и чтобы они вызывались по отдельности, но при этом не сдвигали сайт а накладывались на сайт поверх?
Не много ли хотите, сударь? Делайте уж тогда сами, если шаблоны не устраивают.
я собственно возможно готов за это и заплатить) тут вопрос желаний и цены)
1. Файле mlpushmenu.js перед 121-ой строчкой или где угодно в этом else добавить строчку
А после 210-ой добавить
2. В любом css файле прописать
Крайне простое решение.
Это ответ на вопрос "И можно ли например поставить 3 меню на одной странице и чтобы они вызывались по отдельности"
"но при этом не сдвигали сайт а накладывались на сайт поверх?" Просто убрать вписать 2 правила
удобное красивое меню, НО есть один минус: при наличии в подкатегории большого списка ссылок, в мобильной версии не работает прокрутка меню. Если использовать по 5-6 ссылок то все работает отлично !
Если кто знает как заставить это меню работать с большим списком в подкатегории — отпишитесь плз.
Один и самый жирный минус этого меню, это то что оно не может выезжать с права экрана!