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

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

Пример:

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

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

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

HTML:

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

CSS:

JS:

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

Мобильный Tab Bar с переключающимися вкладками

5 вариантов оформления хлебных крошек

Плагин jQuery splits-slider Plugin для создания горизонтального аккордеона фотографий

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

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

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

  • Иван:

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

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

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

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

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

    Ответить
    • Alexander:

      Если меню по якорям, например для лендинга, то да.
      Меняем:
      [code]$('.menu-bar').on('click', function() {[/code]
      на
      [code]$('.menu-bar, .menu a').on('click', function() {[/code]

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

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

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

    Доброго времени суток, уважаемый админ, могли бы подсказать возможно ли как то сделать, внутри самого значка где три полосочки написать слово меню . Пробовал так:
    [code] <div class="menu-bar">
    <span></span>
    Меню
    </div>[/code]
    Не красиво как то получается, может что то можете подсказать? За ранее благодарен буду за ваш ответ.

    Ответить
    • Alexander:

      Меняем [b]menu-bar span[/b] на:
      [code].menu-bar span {
      position: absolute;
      top: 50%;
      left: 10px;
      }[/code]
      Добавляем:
      [code].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;
      }[/code]

      А HTML кнопки такой:
      [code]<div class="menu-bar">
      <span></span>
      <b>меню</b>
      </div>[/code]

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

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

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

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

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

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

    Ответить
    • Alexander:

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

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

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

        Ответить