我正在为我的移动菜单使用 slicknav。如果您单击另一个父菜单,我遇到了一个很酷的小方法,可以让父菜单自动关闭,如果我像下面这样使用它,我可以让它完美地工作(请注意,我不知道 javascript。你看到的是我从我在网上找到的其他代码中破解一些):
<ul id="menu">
<li class="first"><a href="#">Parent1</a>
<ul>
<li><a href="#" title="">Child1</a></li>
<li><a href="#" title="">Child2</a></li>
</ul>
</li>
<li><a href="#" title="">Parent2</a>
<ul>
<li><a href="#" title="">Child3</a></li>
<li><a href="#" title="">Child4</a></li>
</ul>
</li>
<li><a href="#" title="">Parent3</a>
<ul>
<li><a href="#" title="">Child5</a></li>
<li><a href="#" title="">Child6</a></li>
</ul>
</li>
</ul>
javascript:
<script>
$(function(){
$('#menu').slicknav({
label: 'MENU',
duration: 150,
allowParentLinks: true,
'open': function(trigger){
var that = trigger.parent().children('ul');
$('.slicknav_menu ul li.slicknav_open ul').each(function(){
if($(this).get( 0 ) != that.get( 0 )){
$(this).slideUp().addClass('slicknav_hidden');
$(this).parent().removeClass('slicknav_open').addClass('slicknav_collapsed');
}
})
},
closeOnClick:true
});
});
$("#content").click(function(){
$('#menu').slicknav('close');
});
</script>
我需要让一些子项目有自己的下拉菜单。有没有办法用相同的想法制作 javascript 函数?如果它没有改变,当您点击/单击任何具有自己的 ul li 项目的子项目时,它会打开,然后立即关闭。
如果我删除这个:
var that = trigger.parent().children('ul');
$('.slicknav_menu ul li.slicknav_open ul').each(function(){
if($(this).get( 0 ) != that.get( 0 )){
$(this).slideUp().addClass('slicknav_hidden');
$(this).parent().removeClass('slicknav_open').addClass('slicknav_collapsed');
}
})
然后自动关闭停止。父母和孩子/父母保持开放。
我希望能够点击孩子/父母并让它保持打开状态,除非您点击另一个孩子/父母项目。如果我没有道理,我很抱歉。累了,这是我能做的最好的了......
正如本文开头所述,javascript 不是我的语言......任何想法或指针将不胜感激。