Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 29.06.2016, 08:07
Аспирант
Отправить личное сообщение для ekad Посмотреть профиль Найти все сообщения от ekad
 
Регистрация: 17.04.2013
Сообщений: 35

Адаптивное меню
Пытаюсь сделать адаптивное меню.

http://cssdeck.com/labs/xplfpiry

сейчас при уменьшении разрешения экрана появляется кнопка "Меню", и соответственно самое меню исчезает

при нажатии меню появляется и исчезает

после того как экран уменьшился, я нажимаю "меню", появилось меню, дальше нажимаю "меню", меню исчезает:

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

Что можно сделать чтобы при уменьшенном экране когда в стили прописывается display:none, потом при расширении экрана меню показывалось?



function view(n) {   
style = document.getElementById(n).style;     
style.display = (style.display == 'block') ? 'none' : 'block'; 
}


@media (max-width: 750px) { 


.terms {
    display:none;
    margin:5px 0px;
    padding:10px;
    width:98%;
    border:1px solid #ffbc80;
    background:#ffffdf;
    
}
}

@media (min-width: 750px) {
.rbutton {display:none}
.rhead p{display: inline;}
.rhead {margin-top:20px;}
}


<p class="rbutton"onClick="view('t1')">Меню</p>
<div id="t1" class="rhead terms">
<p>Пункт 1 </p>
<p>Пункт 2 </p>
<p>Пункт 3 </p>
<p>Пункт 4 </p>
</div>

Последний раз редактировалось ekad, 29.06.2016 в 08:09.
Ответить с цитированием
  #2 (permalink)  
Старый 29.06.2016, 10:28
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,109

ekad,
добавить в css
.terms.show { display: block }


функцию заменить на
function view(n) {
document.getElementById(n).classList.toggle("show");

}
Ответить с цитированием
  #3 (permalink)  
Старый 29.06.2016, 10:41
Профессор
Отправить личное сообщение для Rasy Посмотреть профиль Найти все сообщения от Rasy
 
Регистрация: 17.06.2016
Сообщений: 509

<!DOCTYPE html>
<html>

  <head>
    <style>

@media (max-width: 750px) { 


.terms {
    display:none;
    margin:5px 0px;
    padding:10px;
    width:98%;
    border:1px solid #ffbc80;
    background:#ffffdf;
    
}
}

@media (min-width: 750px) {
.rbutton {display:none}
.rhead p{display: inline;}
.rhead {margin-top:20px;}
}

   </style>
    
  </head>

  <body>
    <p class="rbutton"onClick="view('t1')">Меню</p>
    <div id="t1" class="rhead terms">
    <p>Пункт 1 </p>
    <p>Пункт 2 </p>
    <p>Пункт 3 </p>
    <p>Пункт 4 </p>
    </div>
<script>

// Code goes here

function view(n) {   
  style = document.getElementById(n).style;
  style.display = (style.display == 'block') ? 'none' : 'block'; 
}

var 
  btn = document.querySelector('.rbutton'),
  comp = window.getComputedStyle(btn, null),
  menu = document.querySelector('.rhead');

window.onresize = function() {

  if (comp.display === 'none') {
    menu.style.display = 'block';
  }
  
}

</script>
  </body>

</html>
Ответить с цитированием
  #4 (permalink)  
Старый 29.06.2016, 11:32
Аспирант
Отправить личное сообщение для ekad Посмотреть профиль Найти все сообщения от ekad
 
Регистрация: 17.04.2013
Сообщений: 35

ВСЕМ ОГРОМНОЕ СПАСИБО!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Замена стилей класса Павел Турченко Элементы интерфейса 9 30.10.2015 15:24
Адаптивное меню sergiocharm Общие вопросы Javascript 10 07.04.2015 13:49
Бесконечноуровневое меню на CSS ruslan_mart Ваши сайты и скрипты 5 12.01.2015 20:59
Выделение активных пунктов многоуровневого меню на jQuery Letto Элементы интерфейса 2 04.12.2013 15:30
Проблема с аккордионом и меню Tie ExtJS 3 01.09.2011 14:36