|
0 / 0 / 0
Регистрация: 28.12.2015
Сообщений: 242
|
|
Как сделать выпадающее меню переключающееся по клику?31.10.2025, 15:57. Показов 5776. Ответов 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
|
|
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,941
|
||
| 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
|
||
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,941
|
|||
| 03.12.2025, 17:08 | |||
|
Технически, через инспектор можно много чего сделать, и скрипт сторонний запустить. Обычно подложку делают для модальных окон. Добавлено через 6 минут Пользователь, кроме вашего, посещает еще 100500 сайтов. У них может быть разное содержание, но интерфейс примерно одинаковый. И пользователь прекрасно знает, как открыть меню, как закрыть меню... Не надо изобретать нестандартный интерфейс. Это введет пользователя в заблуждение. Как на автомобиле - все вроде разные, но интерфейс (руль, педали, рычаг переключения скоростей) у всех на одном и том же месте. И работает примерно одинаково. Что бы не доставлять пользователю лишних хлопот.
0
|
|||
|
2605 / 1509 / 689
Регистрация: 23.08.2015
Сообщений: 3,841
|
|||
| 03.12.2025, 17:17 | |||
|
Добавлено через 1 минуту
0
|
|||
|
1296 / 1282 / 190
Регистрация: 21.01.2024
Сообщений: 5,941
|
|||
| 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
Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Как надо было делать правильно - вообще не слушать ИИ, его дело - текст.
Hrethgir 15.07.2026
А вообще надо было делать не так, чтобы не исправлять ошибку https:/ / www. cyberforum. ru/ blogs/ 223907/ 10996. html , правильно было : удалил кнопку, а потом добавил её.
Всё это стресс конечно. Почему?. . .
|
Знаете, от чего появляется стресс?
kumehtar 15.07.2026
Стресс появляется оттого, что вы, зная как поступить правильно, делаете наоборот.
Ларри Уингет
|
Нас бьют, а мы крепчаем? Какая чушь!
kumehtar 15.07.2026
Вот это вот бытующее мнение, что человек меняется только под действием проблем, всегда считал вредоносным. Поверь, от проблем у людей появляются не изменения, а нервное расстройство и ПТСР. А. . .
|
сукцессия 29. Переход от одних деревьев на другие делать более или менее вероятностным?
anaschu 12.07.2026
Насколько смена типов микоризы — исключительное событие в двухвековой сукцессии? Оценка вероятности в пространстве параметров
В текущей версии модели успешно реализован ключевой механизм. . .
|
|
сукцессия 27. Думаю, как переделывать уже написанную статью с планами на сукцессию.
anaschu 12.07.2026
Анализ соответствия модели требованиям
Реализованные компоненты:
Механизм закисления почвы через протонную помпу
Конкуренция между типами микориз
pH как триггер сукцессии
C/ P соотношение. . .
|
Сукцессия 26. Мат модель создана.
anaschu 12.07.2026
Модель смены растительных сукцессий посредством управления грибами работает внутри небольшой ячейки почвы, восстанавливающейся после пожара, где ненадолго бывшее царство хвойных снова захватили. . .
|
Решил проблему с ошибкой пагинации сообщений с сервера на алгоритме обхода дерева "Эстафета хвоста".
Hrethgir 12.07.2026
Проблема была в том, что удалялась именно новая кнопка, а не старая. Ни один ИИ не обнаружил это, а сам я смог только когда с работой стало попроще и когда заставил работать будущее автономное. . .
|
сукцессия 25. Хронология ошибок
anaschu 12.07.2026
# От 50-тонного гриба до устойчивого леса: хроника ошибок при построении модели вековой сукцессии микоризы
## О чём эта статья
В процессе построения ОДУ-модели (система дифференциальных. . .
|