Как реализовать на js, jquery меню гамбургера?

299
04 декабря 2017, 18:51

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

Answer 1

Что то вроде этого ?

 $(".icon").click(function(){ 
     $("#myTopnav").toggleClass("responsive");  
 }); 
  
 $("#myTopnav a").click(function(){ 
     $("#activeText").text($(this).text());  
 });
/* Add a black background color to the top navigation */ 
.topnav { 
    background-color: #333; 
    overflow: hidden; 
} 
 
/* Style the links inside the navigation bar */ 
.topnav a,.topnav p { 
    float: left; 
    display: block; 
    color: #f2f2f2; 
    text-align: center; 
    padding: 14px 16px; 
    text-decoration: none; 
    font-size: 17px; 
} 
 
/* Change the color of links on hover */ 
.topnav a:hover { 
    background-color: #ddd; 
    color: black; 
} 
.topnav p.icon{ 
  margin: 0px; 
  cursor:pointer; 
} 
/* Add an active class to highlight the current page */ 
.active { 
    background-color: #4CAF50; 
    color: white; 
} 
 
/* Hide the link that should open and close the topnav on small screens */ 
.topnav .icon { 
    display: none; 
} 
 
/* When the screen is less than 600 pixels wide, hide all links, except for the first one ("Home"). Show the link that contains should open and close the topnav (.icon) */ 
@media screen and (max-width: 1024px) { 
  .topnav a:not(:first-child) {display: none;} 
  .topnav p.icon { 
    float: right; 
    display: block; 
  } 
} 
 
/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */ 
@media screen and (max-width: 1024px) { 
  .topnav.responsive {position: relative;} 
  .topnav.responsive p.icon { 
    position: absolute; 
    right: 0; 
    top: 0; 
  } 
  .topnav.responsive a { 
    float: none; 
    display: block; 
    text-align: left; 
  } 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div class="topnav" id="myTopnav"> 
  <a href="#!" id="activeText" class="active">MENU</a> 
  <a href="#!" class="">Home</a> 
  <a href="#!">News</a> 
  <a href="#!">Contact</a> 
  <a href="#!">About</a>  
  <p class="icon">&#9776;</p> 
     
</div>

READ ALSO
Выполнение js кода ДО загрузки страницы

Выполнение js кода ДО загрузки страницы

Всем приветПомогите пожалуйста - я пытаюсь вызвать выполнение js скрипта, до того как загрузится страница

234
не работает Кластеризация маркеров Google maps

не работает Кластеризация маркеров Google maps

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

304
Вызов метода класса с помощью setInterval

Вызов метода класса с помощью setInterval

Здравствуйте, вопрос у меня такой, ну изменять позицию экземпляра класса, есть метод Move, который изменяет позицию, хочу вызвать его с определённой...

246
bitfinex api, multiple orders, rest api, JSON

bitfinex api, multiple orders, rest api, JSON

Пытаюсь создавать ордеры на bitfinex, через их REST APIВсе команды проходят нормально, только с Multiple New Orders (https://api

302