我有一个用jquery动画的导航菜单,当我点击一个元素时,我希望其他菜单声音崩溃。请参阅代码以查看我尝试执行该操作但未成功。此外,当我点击我用来打开它的相同元素,或者如果我点击其他主要元素(橙色)时,我希望菜单声音崩溃,而不是当我点击儿童元素(白色)时。对不起我的英文,我希望它清楚。请参阅jsfiddle以澄清。取消注释该行以查看我的尝试。
$('.main-nav li a').on('click', function(event) {
// $('.main-nav li a').not(this).parents().removeClass('open');
$(this).siblings('.submenu').toggleClass('open');
});
答案 0 :(得分:2)
$('.main-nav li a').on('click', function(event) {
// $('.main-nav li a').not(this).parents().removeClass('open');
$(this).siblings('.submenu').toggleClass('open');
$(this).parent().siblings().children('.open').removeClass('open');
});
答案 1 :(得分:0)
我认为您的功能可能如下所示:
$('.main-nav li a').on('click', function(event) {
// $('.main-nav li a').not(this).parents().removeClass('open');
$('.submenu').removeClass('open');
$(this).siblings('.submenu').toggleClass('open');
});
这是一个更新的小提琴:http://jsfiddle.net/uwv0a6bL/20/
答案 2 :(得分:0)
一种可能的解决方案:
$('.main-nav li a').on('click', function(event) {
var submenu = $(this).siblings('.submenu');
$('.submenu').not(submenu).removeClass('open');
submenu.toggleClass('open');
});
点击此链接jsfiddle查看一个有效的示例。
希望它有用!