Полноэкранное мобильное меню

Решение выполнено с использованием библиотеки jQuery

Если на сайте немного разделов, и меню состоит не из сотни пунктов, то его десктопную и мобильную версию можно разделить. А далее остается только спраятать одно или другое меню на разных размерах экрана.

Пример:

Для более наглядного примера, я добавил мобильник и изменил прокрутку. В CSS и JS коде этого нет.

Оригинальный вид страницы с меню можно посмотреть по ссылке

Похожий пример, но с анимацией и без использования подразделов, можно посмотреть в теме: Фиксированное гамбургер-меню.

HTML:

Т.к. иконка-гамбургер и само меню имеют фиксированное позиционирование, HTML-код можно разместить на странице в любом удобном месте.

CSS:

JS:

Смотрите также:

Добавить комментарий:

Ваш комментарий отправлен!

Комментарии:

  • Иван:

    Как указать путь на js файл

    Ответить
      • Иван:

        Все получилось у меня в конструкторе надо указывать путь к JS. script src="путь" script

        Ответить
  • Кирилл:

    Здравствуйте!
    Подскажите, пожалуйста, как можно сделать так, чтобы после нажатия на пункт меню, оно закрывалось и был виден контент сайта? Иначе приходится жать на кнопку с крестиком, а это не всем будет удобно, полагаю.

    Ответить
    • Alexander:

      Если меню по якорям, например для лендинга, то да.
      Меняем:

      $('.menu-bar').on('click', function() {

      на

      $('.menu-bar, .menu a').on('click', function() {
      Ответить
      • Кирилл:

        Спасибо! Всё отлично работает!

        Ответить
  • Валерий:

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

     <div class="menu-bar">
    <span></span>
      Меню
     </div>

    Не красиво как то получается, может что то можете подсказать? За ранее благодарен буду за ваш ответ.

    Ответить
    • Alexander:

      Меняем menu-bar span на:

      .menu-bar span {
      	position: absolute;
      	top: 50%;
      	left: 10px;
      }

      Добавляем:

      .menu-bar b {
      	transition: all 0.3s ease-in-out;
      	display: inline-block;
      	position: absolute;
      	top: calc(50% - 6px);
      	left: 10px;
      	color: #FFF;
      	font-size: 10px;
      	font-weight: bold;
      	font-family: Tahoma, sans-serif; 
      }
      .triggered .menu-bar b {
      	opacity: 0;
      }

      А HTML кнопки такой:

      <div class="menu-bar">
      	<span></span>
      	<b>меню</b>
      </div>
      Ответить
      • Валерий:

        Спасибо большое, все отлично!

        Ответить
  • Максим:

    Здравствуйте!

    Подскажите, куда вставлять код JS ?!

    В function.php - выдает ошибку.

    Ответить
    • Alexander:

      А зачем вы его в function.php вставляете?
      Там PHP коды от темы (если я правильно понял, что речь идет о WordPress).
      JS можно вставить в любой файл ---.js этой же темы (ниже библиотеки jQuery) или отдельным файлом или например в подвал темы в теге script

      Ответить
      • Валерий:

        Красивый ответ)

        Ответить