Javascript 用动画关闭下拉列表
我想添加一个侦听器,用于侦听对“html”的单击,然后关闭下拉列表。它只有在没有隐藏功能的情况下才能工作,将css显示设置为“无”。好像什么都没用!! 有什么想法吗Javascript 用动画关闭下拉列表,javascript,jquery,css,Javascript,Jquery,Css,我想添加一个侦听器,用于侦听对“html”的单击,然后关闭下拉列表。它只有在没有隐藏功能的情况下才能工作,将css显示设置为“无”。好像什么都没用!! 有什么想法吗 // Drop Down Menu EZEMAIN.dropDown = { slideTime: 200, dropDown: '.dn-drop-down', arrow: '.dn-menu-arrow', arrowUp: 'dn-arrow-up', bindElms: funct
// Drop Down Menu
EZEMAIN.dropDown = {
slideTime: 200,
dropDown: '.dn-drop-down',
arrow: '.dn-menu-arrow',
arrowUp: 'dn-arrow-up',
bindElms: function () {
this.btn = $('.dn-dropdown-btn');
},
html: function(e) {
},
showHide: function (e) {
var self = EZEMAIN.dropDown,
dropDown = $(this).find(self.dropDown),
arrow = $(this).find(self.arrow),
openedDropDowns = $(self.dropDown).is(':visible');
if ($(e.target).parents(self.dropDown).length == 0)
e.preventDefault();
if (dropDown.is(':hidden')) {
if (openedDropDowns) self.hide();
dropDown.slideDown(self.slideTime, function () {
arrow.addClass(self.arrowUp);
});
setTimeout(function () {
$('body').on('click', self.hide);
}, 100);
}
else
self.hide();
},
hide: function () {
var self = EZEMAIN.dropDown;
$(self.dropDown).slideUp(self.slideTime, function () {
$(self.arrow).filter(function () { return $(this).siblings('.dn-basket-btn').length == 0; }).removeClass(self.arrowUp);
});
$("html").click(function () {
//$("#dn-header-basket").css("display", "none");
$(EZEMAIN.arrow).filter(function () { return $(this).siblings('.dn-menu-arrow').length == 0; }).removeClass(self.arrowUp);
});
$('body').off('click', self.hide);
},
init: function () {
this.bindElms();
this.btn.click(this.showHide);
}
};
你能提供完整的代码示例吗?你在用图书馆吗?你能造一把小提琴吗?