jQuery第三级导航未按预期工作
jQuery 3rd Level Navigation Is not Working As Expected
我有一个三级导航的演示没有正确触发,不确定我在哪里遗漏了什么
演示
JS:
$(function(){
$(".dropdown-menu").css("height","auto");
$("#navigation div > .mobile-drop-button").on("click",function(e){
alert('1st level');
e.preventDefault();
if(!$(this).next().next().hasClass("current")){
$(".dropdown-menu").removeClass("current");
$(".dropdown-menu").slideUp();
$(this).next().next().addClass("current");
$(this).find('img').attr('src','/sites/all/themes/enfamil_base/assets/images/up_arrow_white.png');
$(this).parent().siblings().find('img').attr('src','/sites/all/themes/enfamil_base/assets/images/down_arrow_white.png');
$(".current").slideToggle();
}
else{
$(this).next().next().slideUp();
$(this).next().next().removeClass("current");
}
e.stopImmediatePropagation();
});
});
/*****
3rd level SUB NAVIGATION STARTS
******************/
$('a.mobile-drop-button.sub img').on("click", function(e){
alert('3rd level');
$(this).addClass('activeSubNav')
$(".dropdown-menu-sub").show();
e.preventDefault();
})
/*****
SUB NAVIGATION ENDS
******************/
感谢你的帮助!
谢谢!!
我已经使用jQuery"slideToggle&sibblings()"解决了这个问题,因为这个HTML太复杂了,我无法找到正确的DOM流。
最终修复:-)JS:
$('#navigation .mobile-drop-button-sub').on('click', function(){
var abc = $(this).closest('.menu-option-sub').find('.dropdown-menu-sub').css({'height':'auto'}).height();
//$(this).closest('.menu-option-sub').find('.dropdown-menu-sub').closest('ul.dropdown-menu').css({'height': height + abc})
$(this).closest('.menu-option-sub').find('.dropdown-menu-sub').closest('ul.dropdown-menu').css({'height': height + abc})
$(this).closest('.menu-option-sub').find('ul.dropdown-menu-sub').slideToggle('fast', function(){
$(this).css('height', abc);
$(this).closest('.menu-option-sub').siblings().find('ul.dropdown-menu-sub').css('display','none');
/* $(this).closest('.menu-option-sub').parent('ul.dropdown-menu').css({
'height':'auto'
}); */
$(this).closest('.menu-option-sub').parent('ul.dropdown-menu').css({
'height':'auto'
});
});
})
相关文章:
- 如何创建具有第三级的垂直导航菜单
- Angular UI Router-在不了解第二级嵌套视图的情况下更改第三级嵌套视图
- 我的设备后退按钮工作不正常,它转到第一个html,但返回到第二个html
- 努力让第n个有悬停的孩子在IE工作
- 第一个jQuery.animate()不工作
- AngularJS 视图在使用 angular-ui-router 的第三级嵌套路由上不更新
- jQuery第三级导航未按预期工作
- jquery菜单ui.当第二级子菜单展开时,自动展开第三级子菜单
- 将第三级添加到CSS菜单
- 使用Angular ng repeat访问第三级JSON
- 循环访问第三级 JSON 对象
- Ajax不工作…第2部分
- HTML和JavaScript中的第三级引号转义
- 在jquery中显示第三级子菜单
- 如何添加第三级到我的css菜单出现/消失在悬停
- 第三级的CSS / Javascript菜单
- 测试正则表达式的第三级斜杠
- 第三级菜单的宽度
- 第二/第三级的firebase查询
- 使用jquery显示第三级ul菜单