【问题标题】:anytime i press an <a> tags the menu opens每当我按下 <a> 标签时,菜单就会打开
【发布时间】:2015-01-27 05:48:35
【问题描述】:

我的菜单按钮有这个 html 和 javascript

这是 HTML

菜单

<div class="mobilenav"> 
  <li><a href="#">HOME</a></li> 
  <li><a href="#">SERVICES</a></li> 
  <li><a href="#">WORK</a></li> 
  <li><a href="#">TALK</a></li> 
</div>

图标

<a href="javascript:void(0)" class="icon"> 
  <div class="MENU"> 
    <div class="menui top-menu"></div> 
    <div class="menui mid-menu"></div> 
    <div class="menui bottom-menu"></div> 
  </div> 
</a>

和 JS

$(document).ready(function () {
  $(".icon").click(function () {
    $(".mobilenav").fadeToggle(500);
    $(".top-menu").toggleClass("top-animate");
    $(".mid-menu").toggleClass("mid-animate");
    $(".bottom-menu").toggleClass("bottom-animate");
  });
});

我将“.icon”更改为“a”,所以一旦我选择任何选项,菜单就会关闭,现在每当我点击向下滚动按钮、联系人和菜单打开的任何其他标签按钮时,有没有如何阻止这种情况发生?

【问题讨论】:

  • 如果您在 jsFiddle.net 中提供代码,我们会更容易
  • 不是.icon 类工作..??
  • 注意:如果您有href="javascript:void(0)"a 并且单击a 只会触发一些视觉效果,那么您很可能不应该在那里使用a。你有什么理由不使用div
  • 我不知道怎么用,我真的很绝望,我需要在大约6小时内交付这项工作

标签: javascript jquery html css tags


【解决方案1】:

$("a") 选择页面上的所有链接。

相反,您只需要选择.icon + .mobilenav 中的链接,因此您需要执行$(".icon, .mobilenav a")

请注意,JQuery 选择器的工作方式与 CSS selectors 几乎相同。

$(document).ready(function () {
  $(".icon, .mobilenav a").click(function () {
    $(".mobilenav").fadeToggle(500);
    $(".top-menu").toggleClass("top-animate");
    $(".mid-menu").toggleClass("mid-animate");
    $(".bottom-menu").toggleClass("bottom-animate");
  });
});

【讨论】:

  • 我选择一个项目后它仍然会关闭菜单吗?
  • 好的,我刚试过,先生,你是救世主,我的后代会为你的英雄事迹唱首歌(没有讽刺)
猜你喜欢
  • 1970-01-01
  • 2015-10-08
  • 2022-01-05
  • 2019-08-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-07-13
相关资源
最近更新 更多