#jquery #css #drop-down-menu
#jquery #css #выпадающее меню
Вопрос:
Я нашел сообщение в блоге о создании меню, найденного в gmail, с выпадающим списком css.
Выпадающий список отображается при наведении курсора мыши на кнопки, но я хочу преобразовать это в меню jQuery
где выпадающий список отображается, когда мы нажимаем на кнопку, а не при наведении курсора мыши, пожалуйста, помогите.
Заранее спасибо .
Комментарии:
1. Добро пожаловать в SO. Мы будем рады помочь, если вы столкнетесь с конкретными проблемами при написании кода, но мы не будем (в большинстве случаев) писать его за вас.
2. Я хочу знать, как конвертировать? так что, вероятно, пример кода может помочь, поскольку я не так хорош в jQuery
3. jquery.com он полон полезных примеров.
4. Спасибо, сэр, если вы не можете помочь, пожалуйста, не делайте этого.
5. Они помогают. Мне было достаточно скучно, чтобы написать четыре строки кода, но это должно быть вашей работой. Если вы не понимаете jQuery, изучите его. Это не так сложно.
Ответ №1:
Это действительно простая логика. Я заменил несколько :hover
правил CSS .clicked
классом и добавил этот JS:
$('.menu > ul > li').click(function() {
$(this).siblings().removeClass('clicked');
$(this).toggleClass('clicked');
});
Вместо того, чтобы разрешить браузеру вызывать выпадающий список с :hover
псевдоклассом, у меня есть jQuery, переключающий класс .clicked
при каждом li
нажатии на верхнем уровне. Это приводит к тому же поведению, но с JS.
Эта строка:
$(this).siblings().removeClass('clicked');
По сути, удаляет clicked
класс из родственных элементов этого элемента, что позволяет пользователю выпадать только из одного меню за раз (в противном случае происходит перекрытие).
Демонстрация: http://jsfiddle.net/PSUkW/5 /
Комментарии:
1. Вы удалили свой комментарий, но вот обновленный код: jsfiddle.net/PSUkW/16 .
2. Большое спасибо за вашу помощь. (удален комментарий к вашему совету, что это моя работа, чтобы сделать это)
3. Никаких проблем. jQuery нетрудно освоить. Как только вы это сделаете, с ним будет легко работать.
Ответ №2:
Довольно просто. Внутри CSS, добавляющего стили и отображающего выпадающий список li:hover, вы можете обновить его, чтобы добавить класс: что-то вроде .menu ul li.click ul
. А затем 2 строки jQuery для назначения этого действия щелчка.
Смотрите код здесь: http://jsfiddle.net/PSUkW/3 /
Комментарии:
1. @Shobha V — Смотрите эту ссылку: jsfiddle.net/PSUkW/9 Я обновил код, чтобы удалить все экземпляры
click
класса, затем на конкретном ЛИ, который был нажат, добавьтеclick
класс, чтобы включить выпадающий список, если он есть.