28.07.2020, 00:29
|
Интересующийся
|
|
Регистрация: 13.10.2019
Сообщений: 15
|
|
Как сделать родительский пункт меню кликабельным после разворачивания?
Здравствуйте, пытаюсь написать обработчик для многоуровнего меню. На сайте есть меню, в котором выводятся категории и подкатегории товаров.
Сейчас категории и подкатегории в меню кликабельны и ведут в каталог товаров. Мне же надо, чтобы родительская категория изначально была с неактивной ссылкой href="#" и разворачивала подкатегории. А уже если они развёрнуты, то тогда можно активировать ссылку на категории и тоже перейти по ней в каталог. Подскажите как это реализовать?
На данный момент дочерние пункты разворачиваются при наведении мыши mouseover и .addClass('active'), а событие click не могу повесить, т.к. он просто провалится по ссылке в каталог, а не развернёт подпункты.
Например:
Машинное масло
-для автомобилей
-для мотоциклов
-для водной техники
Направьте меня, пожалуйста, как это делается, а то я зависла что-то..
|
|
28.07.2020, 15:21
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Сообщение от Nice
|
а событие click не могу повесить, т.к. он просто провалится по ссылке в каталог, а не развернёт подпункты.
|
Это плохое, неправильное меню.
ИМХО.
Что делать тем, у кого нет мыши? Например, планшет, или кто то пользуется клавиатурой?
|
|
28.07.2020, 15:40
|
Интересующийся
|
|
Регистрация: 13.10.2019
Сообщений: 15
|
|
Сообщение от voraa
|
Это плохое, неправильное меню.
ИМХО.
Что делать тем, у кого нет мыши? Например, планшет, или кто то пользуется клавиатурой?
|
вот как раз поэтому мне и надо переделать его. Но как сделать родительский пункт меню с неактивной ссылкой при первом щелчке? А потом её активировать. В этом же и суть вопроса собственно)
|
|
28.07.2020, 22:19
|
|
Профессор
|
|
Регистрация: 03.02.2020
Сообщений: 2,750
|
|
Я же говорю, что это неправильное меню.
Меню - это некоторый стандартный элемент, который должен вести себя стандартно. Юзвери уже побывали на куче сайтов и знают, как должно себя вести меню. Обычное действие - при клике на пункт меню, либо выполняется команда, предусмотренная этим пунктом, либо открывается меню следующего уровня. В последнем случае, повторный клик на этом пункте, должен закрыть это подменю. Юзвери привыкли, что это работает так. Так сделано почти везде. Как он поймет, что повторный клик сделает что то другое? И как тогда закрывать подменю?
|
|
28.07.2020, 22:44
|
Профессор
|
|
Регистрация: 04.12.2012
Сообщений: 3,795
|
|
Полностью согласен с voraa.
Лучше либо добавить новую ссылку в раскрывающийся список, которая будет вести на нужную страницу, либо сделать так, чтобы по клику на ссылке пользователь переходил на нужную страницу, а по клику на стрелочку справа от ссылки раскрывалось/скрывалось сабменю.
|
|
28.07.2020, 23:15
|
Интересующийся
|
|
Регистрация: 13.10.2019
Сообщений: 15
|
|
Сообщение от voraa
|
Я же говорю, что это неправильное меню.
Меню - это некоторый стандартный элемент, который должен вести себя стандартно. Юзвери уже побывали на куче сайтов и знают, как должно себя вести меню. Обычное действие - при клике на пункт меню, либо выполняется команда, предусмотренная этим пунктом, либо открывается меню следующего уровня. В последнем случае, повторный клик на этом пункте, должен закрыть это подменю. Юзвери привыкли, что это работает так. Так сделано почти везде. Как он поймет, что повторный клик сделает что то другое? И как тогда закрывать подменю?
|
У заказчика изначально на сайте все менюшки открываются ховером и отсутствует моб.адаптация. У меня стоит задача прописать моб.адаптацию и пофиксить этот момент. Т.е. мне надо чтобы на мобильном подпункты при клике разворачивались. Сейчас же подпункты развернуть с телефона нельзя, т.к. просто срабатывает ссылка. А это интернет-магазин. Там и категории и подкатегории должны быть доступны
|
|
28.07.2020, 23:30
|
Интересующийся
|
|
Регистрация: 13.10.2019
Сообщений: 15
|
|
Сообщение от Nexus
|
Полностью согласен с voraa.
Лучше либо добавить новую ссылку в раскрывающийся список, которая будет вести на нужную страницу, либо сделать так, чтобы по клику на ссылке пользователь переходил на нужную страницу, а по клику на стрелочку справа от ссылки раскрывалось/скрывалось сабменю.
|
стрелочку я сделала и она работает, но для мобильного было бы удобнее, чтобы можно было кнопку полностью тыкнуть, а не целиться в стрелочки сбоку) можно промахнуться. Т.е. тут стоит вопрос удобства. Заглушку тоже уже прописала через js и меню по щелчку открывается, но вот вернуть обратно кликабельность пункта не получается что-то.
$('.dropdown-menu__section__title a').click(function() {
var old_href = $('.dropdown-menu__section__title a').prosp('href'); // Записали оригинальную ссылку в переменную
$('.dropdown-menu__section__title a').attr('href', '#'); // Заменили ссылку на заглушку
//Тут пробую вешать и счётчик и через условие и через класс active, но не всё равно не срабатывает
$('.dropdown-menu__section__title a').attr('href', 'old_href'); //Вернули ссылку
$('.dropdown-menu__section__title a').click; //Вернули кликабельность
});
|
|
29.07.2020, 01:08
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Ссылки должны быть только у активных разделов, кнопкам которые разворачивают список разделов зачем ссылки?
|
|
29.07.2020, 01:31
|
Интересующийся
|
|
Регистрация: 13.10.2019
Сообщений: 15
|
|
Сообщение от laimas
|
Ссылки должны быть только у активных разделов, кнопкам которые разворачивают список разделов зачем ссылки?
|
потому что это меню с категориями товаров. Категорий дофига и цель была их спрятать в родительские. Потому что не вмещаются полным списком. Зайдите в любой крупный интернет магазин (хотя бы даже алиэкспресс), там подкатегории выпадают из родительских. И все они кликабельны (как родители, так и дети). Странно, что тут на форуме это всех удивляет) в любом случае работаю с тем, что есть. Пока что спрятала в родительские и сделала их некликабельными href="#". Но лично я сама много раз встречала меню, особенно на мобильных, когда первый раз кликаешь - разворачивается шторка, а когда она развёрнута, то родитель тоже становится кликабелен. Неужели никто такого не встречал?
|
|
29.07.2020, 06:10
|
Профессор
|
|
Регистрация: 14.01.2015
Сообщений: 12,989
|
|
Сообщение от Nice
|
много раз встречала меню, особенно на мобильных, когда первый раз кликаешь ...
|
Я нет, и надеюсь не встречу. Тогда ссылка и кнопка, а не такие мытарства.
|
|
|
|