Я пытаюсь создать раскрывающееся меню onclick для веб-сайта. Я хочу, чтобы мои .sublink элементы скользнули вниз, когда я нажимаю на элемент .dropdown, а затем для .sublink, чтобы сползать назад, когда я нажимаю нигде на странице.JavaScript Onclick Dropdown Menu не работает
Меню опускается вниз, но при нажатии на другое место на веб-сайте оно не соскальзывает.
Ниже приведен код, который у меня есть для меню. Может кто-нибудь, пожалуйста, помогите мне в этом? Спасибо!
$(function() {
$('.dropdown').click(function() {
$('.sublinks').stop(false, true).hide();
var submenu = $(this).parent().next();
submenu.css({
position: 'absolute',
top: $(this).offset().top + $(this).height() + 'px',
left: $(this).offset().left + 'px',
zIndex: 1000
});
submenu.stop().slideDown(300);
//click anywhere outside the menu
$(document).click(function() {
var $el = $(this);
$el.not('.dropdown') && $el.slideUp(300);
});
});
});
Это самое близкое решение до сих пор ... но меню все еще не сдвигается вверх. Независимо от того, что я нажимаю на слайдах вверх и назад, теперь с этим кодом. Помогите! –
см. Обновленный код. Я предположил, что не будет работать правильно, но это не то, что вам нужно. Кроме того, поместите '$ (document) .click (function (e) {' вне '$ ('. Dropdown'). Click (function() {', иначе обработчик клика будет добавлен в документ при каждом раскрытии –
Ниже приведена моя страница на jsfiddle: http://jsfiddle.net/2ryWF/2/ Обратите внимание, что все, что вы нажимаете на слайды, и уходит, также выпадающее меню не исчезает, пока вы не нажмете на каждую ссылку, но я хочу, чтобы только всплывающее меню соскальзывало, когда я нажимаю в другом месте страницы. –