移动下拉菜单汉堡包

时间:2017-09-15 12:27:15

标签: jquery html css drop-down-menu

可爱的人。

我是编码方面的新手,所以我查看了所有论坛,但是点击我的FA图标似乎无法显示菜单。也许我不了解一些事情。

我的手机菜单我想看起来像这样:

https://imgur.com/0Mje6wX

我的主导航和移动主导航在彼此之上

<nav class="nav nav__primary clearfix">
<ul id="topnav" class="sf-menu sf-js-enabled">
    <li><a href="https://staging1.herbalnitro.com">Home</a></li>
    <li><a href="https://staging1.herbalnitro.com/shop">Shop</a></li>
    <li><a class="sf-with-ul" href="https://staging1.herbalnitro.com/shop">
        <span class="sf-sub-indicator"></span>
    Products</a>
        <ul class="sub-menu">
            <li><a href="https://staging1.herbalnitro.com/product/allura-trim-appetite-control-weight-loss">Allura Trim Fitness Stick</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/colon-cleanse-detox-cleanse-duo/">Colon Cleanse Detox Duo</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/detox-maximo-colon-cleanse/">Detox Maximo Colon Cleanse</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/extreme-energy/">Extreme Energy</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/fuel-for-the-body-natural-energy-booster/">Fuel for the Body</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/my-gentle-cleanse-colon-health/">My Gentle Cleanse 30</a></li>
            <li><a href="https://staging1.herbalnitro.com/product/my-gentle-detox-colon-care/">My Gentle Detox 30</a></li>
        </ul>
    </li>
    <li><a href="https://staging1.herbalnitro.com/herbal-nitro-life-blog">Blog</a></li>
    <li><a href="https://staging1.herbalnitro.com/contact-us">Contact</a></li>
</ul>
<ul id="mobile-nav" class="sf-menu sf-js-enabled">
    <li><a href="https://staging1.herbalnitro.com">Home</a></li>
    <li><a href="https://staging1.herbalnitro.com/shop">Shop</a></li>
    <li><a href="https://staging1.herbalnitro.com/shop">Products</a></li>
    <li><a href="https://staging1.herbalnitro.com/herbal-nitro-life-blog">Blog</a></li>
    <li><a href="https://staging1.herbalnitro.com/contact-us">Contact</a></li>
</ul>

我想将#mobile-nav链接到图片中的汉堡包图标,我在这里:

<a href="#mobile-nav" class="fa fa-bars" aria-hidden="true"></a>
        <a href="https://herbalnitro.com"><img src="https://staging1.herbalnitro.com/wp-content/uploads/2017/09/Logo-165x40.png" /></a>
        <a href="#" class="fa fa-shopping-cart" aria-hidden="true"></a>
        <a href="https://staging1.herbalnitro.com/my-account" class="fa fa-user" aria-hidden="true"></a>
        <a href="#" class="fa fa-search" aria-hidden="true"></a>

你不必解决这个问题,但是一些帮助会很棒。

非常感谢你! JS

编辑:子主题自定义脚本

(function($) {
$(function(){
    //Dropdown cart in header
    $('.cart-holder > h3').click(function(){
        if($(this).hasClass('cart-opened')) {
            $(this).removeClass('cart-opened').next().slideUp(300);
        } else {
            $(this).addClass('cart-opened').next().slideDown(300);
        }
    });
    //Popup rating content
    $('.star-rating').each(function(){
        rate_cont = $(this).attr('title');
        $(this).append('<b class="rate_content">' + rate_cont + '</b>');
    });

});

})(jQuery的);

2 个答案:

答案 0 :(得分:0)

由您决定放置代码的位置,在小型项目中,您可以像这样编写它,但在更大的项目中,您可以在多个文件中拆分功能,并使用像grunt这样的工具来组合它们。我根据您的代码和JQuery example(没有css)制作了以下示例。

(function($) {
  $(function(){
      //Dropdown cart in header
      $('.cart-holder > h3').click(function(){
          if($(this).hasClass('cart-opened')) {
              $(this).removeClass('cart-opened').next().slideUp(300);
          } else {
              $(this).addClass('cart-opened').next().slideDown(300);
          }
      });
      //Popup rating content
      $('.star-rating').each(function(){
          rate_cont = $(this).attr('title');
          $(this).append('<b class="rate_content">' + rate_cont + '</b>');
      });

  });

  $( ".cross" ).hide();
  $( ".hamburger" ).click(function() {
    $( ".sf-menu" ).slideToggle( "slow", function() {
      $( ".hamburger" ).hide();
      $( ".cross" ).show();
    });
  });

  $( ".cross" ).click(function() {
    $( ".sf-menu" ).slideToggle( "slow", function() {
      $( ".cross" ).hide();
      $( ".hamburger" ).show();
    });
  });

})(jQuery);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<nav class="nav nav__primary clearfix">
<button class="hamburger">&#9776;</button>
<button class="cross">&#735;</button>
<ul id="mobile-nav" class="sf-menu sf-js-enabled">
    <li><a href="#">Home</a></li>
    <li><a href="#">Shop</a></li>
    <li><a href="#">Products</a></li>
    <li><a href="#">Blog</a></li>
    <li><a href="#">Contact</a></li>
</ul>
</nav>

答案 1 :(得分:0)

谢谢,Wouter。

我将导航栏改为:

<a href="#mobile-nav" class="fa fa-bars hamburger" aria-hidden="true"></a>
            <a class="fa fa-times cross" aria-hidden="true"></a>
            <ul id="mobile-nav" class="sf-menu sf-js-enabled">
                <li><a href="#">Home</a></li>
                <li><a href="#">Shop</a></li>
                <li><a href="#">Products</a></li>
                <li><a href="#">Blog</a></li>
                <li><a href="#">Contact</a></li>
            </ul>

所以我可以删除按钮并使用cross fa-class。还删除了具有其他属性的nav类。现在我只需要通过使位置绝对和填充来编辑#mobile-nav。你是炸弹。