mmenu在定位标记上未关闭

mmenu在定位标记上未关闭,mmenu,Mmenu,正在尝试使用jQuery.mmenu插件。我的菜单上有多个项目。一些链接指向页面内的锚定标记,其余链接指向其他页面。第一次单击指向锚的链接时,页面将导航到锚,菜单将关闭。但是,如果我再次打开菜单并单击指向其他锚点的另一个链接,页面将进行导航,但菜单不会关闭。我使用的是开箱即用的代码,没有做任何更改。我肯定我错过了一些非常简单的事情。任何帮助都将不胜感激 菜单 <nav id="menu"> <ul> <li><a href="index.ht

正在尝试使用jQuery.mmenu插件。我的菜单上有多个项目。一些链接指向页面内的锚定标记,其余链接指向其他页面。第一次单击指向锚的链接时,页面将导航到锚,菜单将关闭。但是,如果我再次打开菜单并单击指向其他锚点的另一个链接,页面将进行导航,但菜单不会关闭。我使用的是开箱即用的代码,没有做任何更改。我肯定我错过了一些非常简单的事情。任何帮助都将不胜感激

菜单

<nav id="menu">
  <ul>
    <li><a href="index.html#how-it-works">How it Works</a></li>
    <li><a href="index.html#businesses">Affiliated Businesses</a></li>
    <li><a href="about.html">About</a></li>
    <li><a href="faqs.html">FAQs</a></li>
     <li><a href="contact-us.html">Contact Us</a></li>
    <li><a href="jobs.html">Jobs</a></li>
  </ul>
</nav>

JS

<script type="text/javascript">
  $(function() {
    $("nav#menu").mmenu({
   classes: "mm-slide"
});
  });
</script>

$(函数(){
$(“导航菜单”).mmenu({
课程:“mm幻灯片”
});
});

首先,我要去掉页面锚中的index.html。所以,

<li><a href="#how-it-works">How it Works</a></li>
<li><a href="#businesses">Affiliated Businesses</a></li>

它使用
if(href.slice(0,1)='#')
来确定链接是锚定链接还是指向其他页面的链接。因此,我建议去掉这些链接中的index.html。

这一点现在内置到插件中(v5.6.6 2016.07.05)。要正确支持带有#文本的href(例如,在单页应用程序中),请在激活插件时使用以下选项:

onClick : {
  close          : true,
  preventDefault : false,
}
例如:

$("#my-menu").mmenu({
  "slidingSubmenus": false,
  onClick : {
    close          : true,
    preventDefault : false,
  }
});

太好了。工作完美。非常感谢您的解决方案。我想我把js从错误的地方拉出来了example@masterShake-太好了,很高兴成功了。如果给出的解决方案解决了您的问题,您应该将答案标记为正确。
$("#my-menu").mmenu({
  "slidingSubmenus": false,
  onClick : {
    close          : true,
    preventDefault : false,
  }
});