简体   繁体   English

我正在尝试隐藏显示菜单 <a><img></a> <a>用jQuery</a>

[英]I am trying to hide show menu from an <a><img> with jquery

I am trying to show the .list-menu div show on click and then hide on click when the .hamburger anchor is clicked. 我试图在单击时显示.list-menu div,然后在单击.hamburger锚点时隐藏。 Right now nothing is happening. 现在没有任何反应。

 $('document').ready(function() { $(".list-menu").hide(); $( ".hamburger" ).click(function() { $( ".list-menu" ).show() { }); $( ".hamburger" ).click(function() { $( ".list-menu" ).hide() { }); }); }); 
 <div class="logo"> <div class="about-me-button"> <a href="#" class="hamburger"><img src="/img/menu.svg" alt="hamburger menu"></a> </div> <div class="list-menu"> <ul> <li><a href="#">About Me</a></li> <li><a href="#">Resume</a></li> <li><a href="#">Contact</a></li> </ul> </div> </div> 

There is a function named .toggle() that "display or hide the matched elements" and you need only 1 .click() event. 有一个名为.toggle()的函数可“显示或隐藏匹配的元素”,并且您只需要1个.click()事件。

 $('document').ready(function() {
   $(".list-menu").hide();

   $(".hamburger").click(function() {
      $(".list-menu").toggle();
   });
});

 $('document').ready(function() { $(".list-menu").hide(); $(".hamburger").click(function() { $(".list-menu").toggle(); }); }); 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div class="logo"> <div class="about-me-button"> <a href="#" class="hamburger"> <img src="/img/menu.svg" alt="hamburger menu"> </a> </div> <div class="list-menu"> <ul> <li><a href="#">About Me</a> </li> <li><a href="#">Resume</a> </li> <li><a href="#">Contact</a> </li> </ul> </div> </div> 

$(function() {

    $(".list-menu").hide();

    $( ".hamburger" ).click(function() {
      $( ".list-menu" ).toggle();
    });

});

I think the easiest way would be is the use jquery .toggle() method. 我认为最简单的方法是使用jquery .toggle()方法。

 $(".list-menu").hide();

    //toggle way
    $(".hamburger").click(function () {
        $(".list-menu").toggle();
    });

or if you would like to go an alternative route you can try something like this 或者,如果您想走替代路线,可以尝试类似的方法

//jquery alternative to toggle
    var toggle = false;
    $(".hamburger").click(function () {
        if (!toggle) {
            $(".list-menu").show();
            toggle = true
        } else {
            $(".list-menu").hide();
            toggle = false
        }
    });

I created a fiddle so that you can see how both would work. 我创建了一个小提琴,以便您可以看到两者如何工作。 https://jsfiddle.net/maenucze/ https://jsfiddle.net/maenucze/

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

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