【发布时间】:2018-12-22 16:42:54
【问题描述】:
我的移动菜单和子菜单有问题。
在移动视图上,单击顶级链接时,我的子菜单切换打开以显示子链接,但现在子链接不起作用,顶级链接也不起作用(它不会转到它的网址)。
不幸的是,我无法手动覆盖 HTML 菜单结构,因此我尝试添加插入符号链接(使用 JQuery)以使子菜单在单击插入符号时出现。但是,它没有用。也许,我可以在顶级菜单项 (li) 的左侧附加或预先添加一个按钮链接(使用 JQuery),以使该按钮或插入符号切换子菜单,同时仍允许顶级链接转到其 URL .我希望这能很好地解释这一切。我很感激任何帮助。谢谢。
/HTML/
<#nav id="nav">
<li id="menu-item-8000" class="menu-item menu-item-has-children menu-item-8000"><a href="https://website.com/home/visit/" class="open-submenu">Visit</a>
<ul class="sub-menu" style="display: block;">
<li id="menu-item-7891" class="menu-item menu-item-7891"><a href="https://website.com/home/visit/sublink-one/" class="open-submenu">Visit Sublink One</a></li>
<li id="menu-item-7892" class="menu-item menu-item-7892"><a href="https://website.com/home/visit/sublink-two/" class="open-submenu">Visit Sublink Two</a></li>
<li id="menu-item-7893" class="menu-item menu-item-7893"><a href="https://website.com/home/visit/sublink-three/" class="open-submenu">Visit Sublink Three</a></li>
</ul>
</li>
<li id="menu-item-8001" class="menu-item menu-item-has-children menu-item-8000"><a href="https://website.com/home/events/" class="open-submenu">Events</a>
<ul class="sub-menu" style="display: block;">
<li id="menu-item-7894" class="menu-item menu-item-7891"><a href="https://website.com/home/events/sublink-one/" class="open-submenu">Events Sublink One</a></li>
<li id="menu-item-7895" class="menu-item menu-item-7892"><a href="https://website.com/home/events/sublink-two/" class="open-submenu">Events Sublink Two</a></li>
<li id="menu-item-7896" class="menu-item menu-item-7893"><a href="https://website.com/home/events/sublink-three/" class="open-submenu">Events Sublink Three</a></li>
</ul>
</li>
</nav>
/JQuery/
//Add caret to top level mobile menu item
$(document).ready(function () {
if ($(window).width() < 960) {
$('#nav li>:not(ul)').addClass('open-submenu');
}
});
/* This is used to show the sub-nav on mobile */
$(function(){
$('.open-submenu').on('click', function(e){
if(Modernizr.mq('screen and (max-width:767px)')) {
e.preventDefault();
$(this).next($('.sub-menu')).slideToggle();
}
})
});
【问题讨论】:
标签: jquery html mobile menu navigation