Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 07.09.2017, 10:17
Новичок на форуме
Отправить личное сообщение для gandreyev Посмотреть профиль Найти все сообщения от gandreyev
 
Регистрация: 07.09.2017
Сообщений: 8

Как "подвесить" блок меню на кнопку
Добрый день.

К сожалению, знаний не хватает по программированию. Проконсультируйте, пожалуйста, по вопросу, создание мобильного меню для магазина:
Есть сайт магазина, на нем меню - каталог и ссылка на корзину. Каталог слишком большой, не помещается в мобильный экран.
1. Сделали кнопку и ссылку, для этого в index.php шаблона сайта добавили:
<p class="right_menu button br1" onclick="openbox()">каталог</p>
<p class="left_menu button br1"><a href="/cart">корзина</a></p>
2. Сделали стили для кнопки и ссылки:
@media screen and (max-width: 520px) .right_menu { left: -24px; top: 151px; margin: -40px 0 0; z-index: 7000;}
...
Если ширина экрана меньше 520 px, меню каталога не показывается.
Стили устраивают. С сылкой всё нормально, работает как надо. С кнопкой "каталог" проблемы, после его нажатия не выходит меню каталога:
Написали небольшую функцию для показывания модуля каталога и добавили его в index.php шаблона:

<script type="text/javascript">
function openbox(){
document.getElementById('126').style.display='bloc k';
}
</script>
где, 126 - id меню каталога.
Всё равно не срабатывает, что не так делаем?

Подскажите пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 07.09.2017, 10:38
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

gandreyev, в слове «block» пробела не должно быть.
Ответить с цитированием
  #3 (permalink)  
Старый 07.09.2017, 10:42
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

gandreyev,
Если все - как написано, то должно работать.
<div id='126' style='display:none'>Меню каталога</div>
<p class="right_menu button br1" onclick="openbox()">каталог</p>
<script type="text/javascript">
function openbox(){
document.getElementById('126').style.display='block';
}
</script>

Каким образом скрывается меню каталога при маленькой ширине экрана?

Nexus. эти пробелы появляются при непосредственной вставке скриптов в сообщение - без обрамления тегами
Ответить с цитированием
  #4 (permalink)  
Старый 07.09.2017, 11:05
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

Dilettante_Pro, спасибо, буду знать.
Ответить с цитированием
  #5 (permalink)  
Старый 07.09.2017, 11:12
Новичок на форуме
Отправить личное сообщение для gandreyev Посмотреть профиль Найти все сообщения от gandreyev
 
Регистрация: 07.09.2017
Сообщений: 8

Господа, спасибо, что пытаетесь помочь.

1. В слове block ошибки в коде нет. Я в посте неправильно написал. Вот весь кусок:
<p class="right_menu button br1" onclick="openbox('126')">каталог</p>
		<p class="left_menu button br1"><a href="/cart">корзина</a></p>

<script type="text/javascript">
function openbox(id){
	document.getElementById('126').style.display='block';
}
</script>


2. Блок скрываем вот так:

#left {display:none;}

Соттветственно меню каталога в позиции #left
Ответить с цитированием
  #6 (permalink)  
Старый 07.09.2017, 11:24
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

gandreyev, если элемент с id "126" является дочерним для элемента с id "left", то родителя тоже нужно отображать.
Ответить с цитированием
  #7 (permalink)  
Старый 07.09.2017, 11:41
Новичок на форуме
Отправить личное сообщение для gandreyev Посмотреть профиль Найти все сообщения от gandreyev
 
Регистрация: 07.09.2017
Сообщений: 8

Ага, вот может быть. А как же отобразить тогда #left? Точнее узнать его id?

Последний раз редактировалось gandreyev, 07.09.2017 в 11:43.
Ответить с цитированием
  #8 (permalink)  
Старый 07.09.2017, 11:52
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

gandreyev, «left» - это и есть ID элемента.
<script type="text/javascript">
function openbox(id){
    document.getElementById(id).style.display='block';
    document.getElementById('left').style.display='block';
}
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 07.09.2017, 12:14
Новичок на форуме
Отправить личное сообщение для gandreyev Посмотреть профиль Найти все сообщения от gandreyev
 
Регистрация: 07.09.2017
Сообщений: 8

Может у меня глаз "замылылся".

Вот модули:


Кнопка:
<p class="right_menu button br1" onclick="openbox('126')">каталог</p>

Вот код полностью:
<script type="text/javascript">
function openbox(id){
	document.getElementById('126').style.display='block';
	document.getElementById('left').style.display='block';
	document.getElementById('tab1').style.display='block';
}
</script>


Там небольшой нюанс есть. Сам каталог состоит из 2 вкладок - "Каталог" и "Авторы". В мобильной версии достаточно просто Каталог.
Ответить с цитированием
  #10 (permalink)  
Старый 07.09.2017, 12:33
Профессор
Отправить личное сообщение для Nexus Посмотреть профиль Найти все сообщения от Nexus
 
Регистрация: 04.12.2012
Сообщений: 3,794

gandreyev, я, к сожалению, не обладаю способностями распознавать верстку по изображению.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как привязать активный чекбокс и блок внутри которого он находится? andreyChumak jQuery 1 20.07.2017 17:11
Как проверить сайт клиента на установленный блок Alexmad Серверные языки и технологии 10 02.04.2015 20:03
как сделдать меню из двух калонок как в bestchange.ru Андрей Лебедев Элементы интерфейса 2 21.01.2013 10:32
Как сделать меню сразу отурытым. vdiapazone Events/DOM/Window 0 22.11.2011 12:24
Раскрывающееся меню, как переставить на другую сторону? Resager Events/DOM/Window 8 22.08.2008 21:56