我已经创建了一个Mega菜单,但我并不精通javascript/jquery。我已经应用了.slideToggle在点击时弹出下拉菜单。如果有人在打开第二个下拉列表时点击第二个下拉列表,我想自动关闭第一个下拉列表。我在这里询问之前试过谷歌。下面是我使用的脚本以及到Codepen的链接。
Codepen link for Mega Menu
任何帮助都将不胜感激。提前感谢你了。
$(function(){
$(".about").click(function(){
$(".mainSub").slideToggle("slow");
$(".one").toggleClass("aboutClick");
})
$(".hf").click(function(){
$(".hfnav").slideToggle("slow");
$(".two").toggleClass("aboutClick");
})
$(".cntct").click(function(){
$(".three").toggleClass("aboutClick");
})
})
编辑:如果有人点击了住房金融,我希望关闭关于我们的下拉列表,住房金融下拉列表的内容应该会出现。
发布于 2014-09-08 12:54:42
我想根据你的密码链接,你要找的是
$(function(){
$(".about").click(function(){
$(".mainSub").slideToggle("slow");
$('.mainNavSub>*').removeClass('aboutClick');
$(".one").addClass("aboutClick");
});
$(".hf").click(function(){
$(".hfnav").slideToggle("slow");
$('.mainNavSub>*').removeClass('aboutClick');
$(".two").addClass("aboutClick");
});
$(".cntct").click(function(){
$('.mainNavSub>*').removeClass('aboutClick');
$(".three").addClass("aboutClick");
});
});
它从其他对象中删除类,并将类添加到当前对象。
发布于 2014-10-27 08:38:14
我想这个应该可以了。
var mainSubs = $(".mainNavSub > li .mainSub");
$(function(){
$(".mainNav").on("click", ".mainNavSub > li", function() {
var self = $(this),
currentSub = self.find(".mainSub");
if(currentSub.is(":visible")) {
mainSubs.slideUp("slow");
} else {
$.when(mainSubs.slideUp("slow"))
.then(function() {
currentSub.slideDown("slow");
});
}
});
});
https://stackoverflow.com/questions/25717629
复制相似问题