使用jQuery单击锚点标记时,div内容未隐藏

我的导航栏有问题。在移动设备上时,我希望单击列表项后隐藏导航栏的内容。仅当您将窗口的大小从大调整为小时,才会出现此问题。屏幕尺寸已经很小时,不会发生这种情况。因此,您必须单击“扩展代码段”以查看问题。我认为我的javaScript代码有问题,但是我不确定它是什么。谢谢!


$(document).ready(function() {


  var menuStatus = true;

  var sections = $('section');

  var nav = $('nav');

  //smooth scroll

  $("nav,#arrow").find('a').on('click', function() {

    var el = $(this),

      id = el.attr('href');


    $('html, body').animate({

      scrollTop: $(id).offset().top

    }, 500);

  });


  //hide the mobile nav after a link is clicked

  if ($(window).width() < 900) {

    $("nav li a").on('click', function() {

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

      $('nav input:checkbox:checked').prop('checked', false);

    });


    $("nav input").on('click', function() {

      $(".menu").show();

    });

  }


  //show desktop nav when the screen is at least 900px

  $(window).on('resize', function() {

    var win = $(this);

    if (win.width() > 900) {

      $(".menu").show();

    }

  });

});

<!DOCTYPE html>

<html>


<head>

  <meta charset="UTF-8">

  <meta name="viewport" content="width=device-width, initial-scale=1.0">

  <meta http-equiv="X-UA-Compatible" content="ie=edge">

  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

</head>


<body>

  <section id="home">

    <nav>

      <div class="nav__container">

        <img id="logo" src="https://via.placeholder.com/150" alt="logo">

        <input class="menu-btn" type="checkbox" id="menu-btn" />

        <label class="menu-icon" for="menu-btn"><span class="navicon"></span></label>

        <ul class="menu">

          <li><a href="#aboutUs">about us</a></li>

          <li><a href="#menu">menu</a></li>

          <li><a href="#gallery">gallery</a></li>

          <li><a href="#contact">contact</a></li>

        </ul>

      </div>

    </nav>

  </section>


  <section id="aboutUs">


  </section>




</body>


</html>


慕尼黑5688855
浏览 153回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript