Поэтому я нашел эту скрипку здесь: http://jsfiddle.net/8qPvp/4/ Я думал, что буду использовать ее только для личных целей. Я действительно новичок в JS, и я заметил, что открытый родитель не возвращается по клику, как он открывается. Как это можно исправить?
$(document).ready(function () {
$("li").click(function () {
$('li > ul').hide();
$(this).children("ul").toggle();
});
});
Как насчет этого:
$("li").click(function () {
$('li > ul').hide();
$(this).children("ul").toggle();
});
$(document).click(function()
{
$('li > ul:visible').hide();
})
$('.menu li').click(function(e)
{
e.stopPropagation();
})
Поэтому по умолчанию я делаю всякий раз, когда в документе щелкнуто ANYWHERE, ваше видимое меню будет скрыто. Однако вы не хотите, чтобы это произошло, когда вы открываете новое меню (было бы, сделано видимым и скрытым непосредственно). Поэтому я делаю исключение, которое улавливает, когда вы хотите открыть новое меню, и я отменим событие щелчка документа.
Я использую event.stopPropagation() для отмены события.
$(document).ready(function () {
$("li").click(function () {
$('li > ul').hide();
$(this).children("ul").toggle();
}).mouseleave(function(){
$(this).children("ul").hide();
});
});
Проверьте эту скрипку http://jsfiddle.net/Aveendra/8qPvp/18/