简体   繁体   English

触发汉堡按钮使菜单响应

[英]trigger hamburger button to make menu responsive

I am in the process of tryig to make my menu responsive by using a hamburger button from this library https://jonsuh.com/hamburgers/我正在尝试使用此库中的汉堡按钮来使我的菜单具有响应性https://jonsuh.com/hamburgers/

I have the button showing up on my screen but I am not sure what jquery I should use to connect the button to my menu and how to trigger it when there are different screen sizes.我有按钮显示在我的屏幕上,但我不确定应该使用什么 jquery 将按钮连接到我的菜单,以及如何在屏幕尺寸不同时触发它。

this is what is currently looks like:这是目前的样子: 在此处输入图片说明

here is my html:这是我的 html:

  <header id="header" role="banner">
    <div class="header-inner">

        <div id="logoWrapper" class="title-logo-wrapper">
            <div id="logoImage" class="logo-image">
                <a href="#">
                    <img src="./images/zipzap.png" alt="">
                </a>
            </div>
        </div>
        <div id="headerNav">
            <div id="mainNavWrapper" class="nav-wrapper">
            <button class="hamburger hamburger--collapse is-active" type="button">
                <span class="hamburger-box">
                    <span class="hamburger-inner"></span>
                </span>
            </button>
                <nav id="mainNavigation">
                <ul>
                    <li class="navigation-item">
                      <a href="#">Home</a>                          
                    </li>
                     <li class="navigation-item">
                      <a href="#">Our Team</a>                          
                      </li>
                     <li class="navigation-item" id="media">
                      <a href="#">Media</a>                          
                     </li>
                     <!-- Logo-->
                    <li class="navigation-item" id="about">
                      <a href="#">About Us</a>                          
                    </li>
                    <li class="navigation-item">
                      <a href="#">Contact Us</a>                          
                     </li>
                     <li class="navigation-item" id="donate">
                      <a href="#">Support Us</a>                          
                      </li>
                    </ul>

                </nav>
            </div>
        </div>
    </div>
</header>

and here is my jquery这是我的 jquery

 var $hamburger = $(".hamburger");
  $hamburger.on("click", function(e) {
    $hamburger.toggleClass("is-active");

  });

don't know if this helps but here is my css不知道这是否有帮助,但这是我的 css

#donate{
    background-color: #7ED321;
    border-radius: 8px;
}

#header {
     padding: 0 18px;
    position: relative;
}


.header-inner {
    padding: 18px 0;
}

#header #logoWrapper, #header #siteTitleWrapper {
    position: relative;
    left: 50%;
    -webkit-transform: translate(-50%,0);
    -moz-transform: translate(-50%,0);
    -ms-transform: translate(-50%,0);
    -o-transform: translate(-50%,0);
    transform: translate(-50%,0);
    text-align: center;
}

#header #logoWrapper, #header #siteTitleWrapper, #header #headerNav {
    display: inline-block;
    vertical-align: middle;
}

#mainNavWrapper nav a, #mainNavWrapper nav a:visited {
    color:#000;
    font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
    font-weight:bold;
    font-size:15px;
}

#mainNavigation li{
    display:inline;

Any help would be appreciated!任何帮助,将不胜感激!

General idea is to hide navigation on smaller screens and show on button click.一般想法是在较小的屏幕上隐藏导航并在按钮点击时显示。

Basic example (you can apply it to your design):基本示例(您可以将其应用于您的设计):

HTML: HTML:

<a href="#" id="toggle-menu">Toggle menu</a>
<ul>
  <li><a href="#">Link</a></li>
  <li><a href="#">Action</a></li>
  <li><a href="#">Another action</a></li>
  <li><a href="#">Something else here</a></li>
  <li><a href="#">Separated link</a></li>
  <li><a href="#">One more separated link</a></li>
</ul>

CSS: CSS:

ul {
  display: none;
}
li {
  list-style: none;
  display: inline-block;
  padding: 0 10px;
}
a {
  text-decoration: none;
  color: #333;
}
@media (min-width: 800px) {
  ul {
    display: block;
  }
  #toggle-menu {
    display: none;
  }
}
@media (max-width: 800px) {
  ul.active {
    display: block;
  }
  ul.active li {
    display: block;
  }
}

JS: JS:

$('#toggle-menu').click(function(e) {
  e.preventDefault();
  $('ul').toggleClass('active');
});

CODEPEN代码笔

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM