|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|
Как сделать выпадающее меню переключающееся по клику?31.10.2025, 15:57. Показов 6275. Ответов 65
Метки нет (Все метки)
мне сказали тут что делать такое меню через Input неправильно, лучше с js
подскажите тогда как его сделать с js? еще хотелось бы чтобы оно закрывалось по клику кроме того
0
|
|
| 31.10.2025, 15:57 | |
|
Ответы с готовыми решениями:
65
Выпадающее меню по клику Меню: выпадающее дерево, как можно сделать чтобы при кол-во объектов ~1000 не было тормозов ? Как сделать такое выпадающее меню на React? |
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|
| 25.11.2025, 14:26 [ТС] | |
|
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 25.11.2025, 14:50 | ||
|
Подобные менюшки могут иметь совершенно разные структуры. Я просто исхожу из своего опыта - Проще вешать класс на html, так как при ее открытии может происходить множество изменений на всем сайте в целом (блокироваться скролл, блюриться, сайт может вообще куда-то уезжать и т.д. ) Т.е. это как 2 состояния сайта - когда меню открыто и когда меню закрыто. И точно так сделано на сайте референсе - вы же посмотрите что происходит с тегом html, когда вы открываете меню. https://skrinshoter.ru/vYl1nh92sXj?a Мне лень все расписывать подробнейшим образом и все объяснять, у меня на это не хватит времени и нервов) Возможно данную вещь можно реализовать 10-ю разными способами - я предлагаю один конкретный. Если вы будете делать как-то по другому, то мне трудно будет вам помочь.
0
|
||
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|||
| 27.11.2025, 14:38 [ТС] | |||
|
что мне сделать с сайтом чтобы было все как вы хотите?
0
|
|||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||||||||||||||||||
| 27.11.2025, 16:22 | ||||||||||||||||||
|
.dropdown.active .dropbtn2 body { } - это что за селектор такой? body никак не может находиться внутри .dropdown Причем принято по возможности разделять классы, отвечающие за отображение и классы, отвечающие за поведение К примеру
1
|
||||||||||||||||||
| 28.11.2025, 11:50 | |
|
Главное тут быть аккуратным. Если есть некая логика, которая эти кнопки перерисовывает (т.е. в какой-то момент времени они могут добавляться на страница при помощи js) то делегирование вполне себе разумный выход. а на кого вешать обработчик - вопрос конкретного проекта
0
|
|
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|
| 01.12.2025, 13:27 [ТС] | |
|
sad67man, вроде все работает, только я не совсем понял, сейчас все работает как вы хотели? я понячалу onclick стер но без него не работает в результате сделал как было
еще вопрос хотел сделать чтобы как я хочу выскакивающее меню и там класс на нем class="menu__burger js-menu-btn", как в css на него чисто повесить что-то? там не получилось это сделать я переименовал на этом меню id и через него сделал, но как это через класс сделать? и еще вопрос там я сделал кнопку закрыть меню, но она не отображается за пределами меню как ее сделать норм чтобы еще работала?
0
|
|
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 01.12.2025, 14:44 | ||
|
Это уже через css. Тут больше js не нужен.
0
|
||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|
| 01.12.2025, 15:24 | |
|
trofey2, Так же обратите внимание - на сайте референсе меню в шапке и мобильное меню - это один и тот же блок. Просто на десктопе некоторые элементы скрыты.
Вам нужно привести в порядок структуру html. И скрипты пишутся в самом конце - перед закрывающим тегом </body>. Не надо их размещать посреди html кода.
0
|
|
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
||||||||
| 01.12.2025, 16:45 [ТС] | ||||||||
|
так, то есть я делаю так
0
|
||||||||
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|
| 03.12.2025, 15:10 [ТС] | |
|
sad67man, не подскажете?
0
|
|
|
1301 / 1303 / 192
Регистрация: 21.01.2024
Сообщений: 6,026
|
||
| 03.12.2025, 16:34 | ||
|
0
|
||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||
| 03.12.2025, 16:45 | ||
|
Я бы постарался избегать дополнительные телодвижения при открытии меню. Там же будет подложка с затемнением фона - можно на нее будет повесить обработчик.
1
|
||
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
||
| 03.12.2025, 16:52 [ТС] | ||
|
а какой скрипт? и как это сделать?
0
|
||
|
1301 / 1303 / 192
Регистрация: 21.01.2024
Сообщений: 6,026
|
|||
| 03.12.2025, 17:08 | |||
|
Технически, через инспектор можно много чего сделать, и скрипт сторонний запустить. Обычно подложку делают для модальных окон. Добавлено через 6 минут Пользователь, кроме вашего, посещает еще 100500 сайтов. У них может быть разное содержание, но интерфейс примерно одинаковый. И пользователь прекрасно знает, как открыть меню, как закрыть меню... Не надо изобретать нестандартный интерфейс. Это введет пользователя в заблуждение. Как на автомобиле - все вроде разные, но интерфейс (руль, педали, рычаг переключения скоростей) у всех на одном и том же месте. И работает примерно одинаково. Что бы не доставлять пользователю лишних хлопот.
0
|
|||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||
| 03.12.2025, 17:17 | |||
|
Добавлено через 1 минуту
0
|
|||
|
1301 / 1303 / 192
Регистрация: 21.01.2024
Сообщений: 6,026
|
|||
| 03.12.2025, 17:27 | |||
|
0
|
|||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
||||||||
| 03.12.2025, 18:50 | ||||||||
|
Конечно проще повесить один обработчик на document и его не снимать. Не понимаю о чем спор. Просто если вам не нравится, что этот обработчик будет срабатывать даже когда меню закрыто. То можно использовать тот факт, что у меню есть подложка и повесить обработчик на него. Тогда данный обработчик будет срабатывать только когда меню открыто. Добавлено через 1 час 1 минуту https://misha.agency/javascrip... menta.html https://vallek.github.io/webde... ck-outside Тут нужно иметь представление, как события всплывают по DOM-дереву. Вешаем обработчик на весь документ - все клики на странице до него будут доходить. И проверяем элемент по которому произошел клик (event.target) - принадлежит ли он меню.
Не знаю какая у вас сейчас структура, я использовал #myDropdown2 из ваших прошлых сообщений. Нужно учитывать, что этот обработчик будет срабатывать при каждом клике, даже когда меню закрыто и каждый раз будет пытаться удалять этот класс. поэтому как вариант можно повесить этот обработчик не на весь document, а на подложку - которая у нас показывается только когда меню открыто.
1
|
||||||||
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|||
| 09.12.2025, 16:13 [ТС] | |||
|
0
|
|||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||
| 09.12.2025, 16:27 | |||
|
Добавлено через 4 минуты trofey2, А нет. Тут получается так, что клик по гамбургеру - это же клик вне меню. Вот оно и закрывается. Добавлено через 4 минуты К примеру $(".main-menu__layout").on('click', - смотря какой класс ему дадите.
1
|
|||
|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|||
| 10.12.2025, 14:24 [ТС] | |||
|
0
|
|||
| 10.12.2025, 14:24 | |
|
Как правильно сделать выпадающее меню для Header используя React? Появление элемента по клику на кнопку и скрытие элемента по клику на любое место body
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#.
Название изменил на ColorStep.
Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
|
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами:
- ВидТО (СправочникСсылка. ВидыТО);
- ВидГСМ. . .
|
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала.
Ниже прикреплён. . .
|
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F
Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU.
Опрашиваются регистры. . .
|
|
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка:
Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
|
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо
Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
|
Оттачиваю умение писать js программы.
russiannick 30.08.2026
Проектом выходного дня стало написание Книги шифров Виженера. Итогом стала версия 200, синий туман.
Синий туман назван так, потому что замораживает текст под собой. Нажатие синих кнопок управляют. . .
|
мат медиц модель 30. презентация проекта
anaschu 27.08.2026
хоп хоп хоп хидахоп, а я кладую))
|