javascript - 汉堡菜单仅适用于一个链接

标签 javascript php jquery html css

我正在为我的站点制作汉堡菜单,在我单击链接之前一切正常。之后,它将带我到新页面,但单击菜单什么也做不了。刷新页面解决了这个问题,所以我尝试添加一个 window.location.reload ,它在 chrome 中工作正常,但不会在 Safari 和 Firefox 中跟踪链接。

这是菜单的代码:

HTML 和 PHP

    <div class="hamburger-menu">
        <div id="nav-icon3">
            <span></span> <span></span> <span></span> <span></span>
        </div>
    </div>
    <nav class="navigation column displaynone" id="nav" role="navigation">
        <ul class="menu">
            <li class="menu-item is-active"><a
                href="http://localhost:8888/general-economy">Home</a></li>
            <li class="menu-item"><a
                href="http://localhost:8888/general-economy/search">Search</a></li>
            <li class="menu-item"><a
                href="http://localhost:8888/general-economy/about">About Us</a></li>
            <li class="menu-item"><a
                href="http://localhost:8888/general-economy/subscribe">Subscribe</a>
            </li>
        </ul>

    </nav>

CSS

#nav-icon1, #nav-icon2, #nav-icon3, #nav-icon4 {
  width: 60px;
  height: 45px;
  position: relative;
  margin: 20px auto;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .5s ease-in-out;
  -moz-transition: .5s ease-in-out;
  -o-transition: .5s ease-in-out;
  transition: .5s ease-in-out;
  cursor: pointer;
  z-index: 100000;
}

#nav-icon1 span, #nav-icon3 span, #nav-icon4 span {
  display: block;
  position: absolute;
  height: 9px;
  width: 90%;
  background: #FF00BF;
  border-radius: 9px;
  opacity: 1;
  left: 0;
  -webkit-transform: rotate(0deg);
  -moz-transform: rotate(0deg);
  -o-transform: rotate(0deg);
  transform: rotate(0deg);
  -webkit-transition: .25s ease-in-out;
  -moz-transition: .25s ease-in-out;
  -o-transition: .25s ease-in-out;
  transition: .25s ease-in-out;
  z-index: 100000;
}

#nav-icon3 span:nth-child(1) {
  top: 0px;
}

#nav-icon3 span:nth-child(2),#nav-icon3 span:nth-child(3) {
  top: 18px;
}

#nav-icon3 span:nth-child(4) {
  top: 36px;
}

#nav-icon3.open span:nth-child(1) {
  top: 18px;
  width: 0%;
  left: 50%;
}

#nav-icon3.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  -o-transform: rotate(45deg);
  transform: rotate(45deg);
}

#nav-icon3.open span:nth-child(3) {
  -webkit-transform: rotate(-45deg);
  -moz-transform: rotate(-45deg);
  -o-transform: rotate(-45deg);
  transform: rotate(-45deg);
}

#nav-icon3.open span:nth-child(4) {
  top: 18px;
  width: 0%;
  left: 50%;
}

JQUERY

$(document).ready(function(){
    $('#nav-icon3').click(function(){
        $(this).toggleClass('open');
    });

  $('#nav-icon3').click(function() {
    $('#nav').toggleClass('displaynone');
    $('body').toggleClass('only-menu');

   });
});

最佳答案

似乎您的 toggleClass 正在与自身作斗争,因为当您单击 #nav-icon3 时,这两个函数都被炸毁了。以下应该有效:

$(document).ready(function(){
    $('#nav-icon3').click(function(){
        $(this).toggleClass('open');
        $('#nav').toggleClass('displaynone');
        $('body').toggleClass('only-menu');
    })
});

关于javascript - 汉堡菜单仅适用于一个链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44727543/

相关文章:

php - 更新 doctrine 中的文本字段会产生异常

php - 使用 jquery 和 ajax 插入多个复选框值,但我只插入一条记录

javascript - canvas.toDataURL() 无法正常工作

javascript - Soundcloud auth popup callback.html 连接后永不关闭

javascript - 无法通过简单的 JavaScript 原型(prototype)方法

javascript - CSS使图像与包含元素的高度相同

php - 删除MySql中的指令

php - 错误 500 Require_once

javascript - 当选择多选选项时,使用 jquery 添加另一个字段

jquery - CSS transitionEnd 事件仍在监听完成的过渡