2017-12-18 173 views
0

此处的测试网站有一个移动菜单(800px或更小),没有下拉文件夹功能。我希望移动导航菜单的功能与桌面上的一样。防止默认设置后点击不同功能

https://josh-unger-4lts.squarespace.com

标题文件夹的默认是打开了它的文件夹中的第一个环节,所以我防止:

<script> 

$(document).ready(function() { 
$('#mobileNav .mobile-folder>a').click(function(e) { 
    e.preventDefault(); 

}); 
}); 
</script> 

我要改为显示“文件夹内隐藏的页面链接标题“点击。

我在这里的代码不起作用:

<script> 
$(document).ready(function(){ 
$("#mobileNav .mobile-folder>a").click(function(){ 
$(this).find('.folder.external-link ul ').toggleClass("expand"); 
}); 
}); 
    </script> 

我的CSS来隐藏切换页面链接以后显示:

.folder.external-link {display:none!important;} 


.folder.external-link.expand {display:block!important;} 

任何帮助是极大的赞赏。

回答

1

ul不是a一个孩子元素但兄弟

enter image description here

使你的代码应该是这样的(你也可以保持preventDefault()):

<script> 
$(document).ready(function(){ 
    $("#mobileNav .mobile-folder>a").click(function(e){ 
     e.preventDefault(); 
     $(this).siblings('ul ').toggleClass("expand"); 
    }); 
}); 
</script> 

而你的CSS应该以ul类为目标:

.mobile-folder ul {display:none!important;} 


.mobile-folder ul.expand {display:block!important;} 
+0

我换出了你的代码。它看起来像防止默认现在不工作。文件夹中的第一个链接现在打开。 @Temani Afif – junger

+0

@junger我的坏!复制/粘贴错误,现在再次检查:) –

+1

我分离出了​​防止我原来的脚本,并保持其余的代码,它似乎工作!非常感谢@temani Aifif – junger