Я пытаюсь сделать так, чтобы мое раскрывающееся меню показывалось, когда вы нажимаете кнопку, и скрывается, когда вы нажимаете в любом месте, кроме раскрывающегося меню.jQuery скрыть выпадающее меню при нажатии, но меню
У меня есть какой-то код, который не закрывается, когда вы нажимаете меню, однако, когда вы нажимаете на документ, когда меню закрыто, оно отображает меню, поэтому оно непрерывно переключается независимо от того, где вы нажимаете.
$(document).click(function(event) {
if ($(event.target).parents().index($('.notification-container')) == -1) {
if ($('.notification-container').is(":visible")) {
$('.notification-container').animate({
"margin-top": "-15px"
}, 75, function() {
$(this).fadeOut(75)
});
} else {
//This should only show when you click: ".notification-button" not document
$('.notification-container').show().animate({
"margin-top": "0px"
}, 75);
}
}
});
Опишите свой код; Он связывает событие клика со всем «документом», и когда это событие запускается, он проверяет, имеет ли элемент target (clicked) какие-либо родители с классом «.notification-container», и если он это проверяет, будет ли какой-либо элемент с этим классом видно. Если это так, он скрывает (анимирует) все элементы с классом «.notification-container», и в противном случае он отображает (анимирует) их. – Stefan
Лучшее решение - [stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element][1]. [1]: http://stackoverflow.com/questions/152975/how-to-detect-a-click-outside-an-element – lightofsouls
эй человек, не могли бы вы принимать ответ? :) – epoch