Как исправить кнопку в панели навигации при прокрутке - PullRequest
0 голосов
/ 18 октября 2018

В моей панели навигации есть 6 полей.5 из них являются ссылками, а один - выпадающим.Когда я прокручиваю страницу, все поля остаются неизменными, кроме выпадающего поля. введите описание изображения здесь

enter image description here

Ниже мой код:

<div class="collapse navbar-collapse" id="Food-fair-toggle">
  <ul class="nav navbar-nav navbar-right">
    <li><a href="#about">about</a></li>
    <li><a href="#pricing">menu</a></li>
    <li><a href="#featured-dish">featured</a></li>
    <li><a href="#reserve">reservation</a></li>
    <li><a href="#contact">contact</a></li>
    <li>
      <div class="dropdown">
        <button class="dropbtn">Dropdown</button>
        <div class="dropdown-content">
          <a href="https://deliveroo.nl/">Deliveroo</a>
          <a href="https://www.foodora.nl/">Foodora</a>
          <a href="https://www.ubereats.com//">UberEats</a>
        </div>
      </div>
    </li>
  </ul>
</div>
<!-- /.navbar-collapse -->

Ответы [ 3 ]

0 голосов
/ 18 октября 2018

Пожалуйста, попробуйте ниже HTML, JS и CSS.Просто измените структуру, создайте отдельный для выпадающего с тем же классом.Затем необходимо добавить атрибут id для меню UL.

HTML:

<div class="collapse navbar-collapse" id="Food-fair-toggle">
  <ul class="nav navbar-nav navbar-right" id="myHeader">
    <li><a href="#about">about</a></li>
    <li><a href="#pricing">menu</a></li>
    <li><a href="#featured-dish">featured</a></li>
    <li><a href="#reserve">reservation</a></li>
    <li><a href="#contact">contact</a></li>    
  </ul>
  <ul class="nav navbar-nav navbar-right">
   <li>
      <div class="dropdown">
        <button class="dropbtn">Dropdown</button>
        <div class="dropdown-content">
          <a href="https://deliveroo.nl/">Deliveroo</a>
          <a href="https://www.foodora.nl/">Foodora</a>
          <a href="https://www.ubereats.com//">UberEats</a>
        </div>
      </div>
    </li>
  </ul>
</div> 

JS:

Скопировать и вставить JS в нижний колонтитул.

<script>
    window.onscroll = function() {myFunction()};

    var header = document.getElementById("myHeader");
    var sticky = header.offsetTop;

    function myFunction() {
      if (window.pageYOffset > sticky) {
        header.classList.add("sticky");
      } else {
        header.classList.remove("sticky");
      }
    }
    </script>

CSS:

ul.sticky {
    position: fixed !important;
    background: #27752A;
}
0 голосов
/ 18 октября 2018

Ниже приведен пример, показывающий, как добавить выпадающее меню в навигационной панели bootstrap-4.

И если вы хотите закрепить навигационную панель сверху, вы можете добавить class='fixed-top' в <nav> компонент, тогда меню будет отображатьсянаверх во время прокрутки вниз.

Или, если вы не хотите, чтобы меню navbar фиксировалось сверху, вы можете удалить этот класс fixed-top из панели навигации.

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Bootstrap Example</title>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1">
  <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/css/bootstrap.min.css">
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.3/umd/popper.min.js"></script>
  <script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.1.3/js/bootstrap.min.js"></script>
</head>
<body>

<nav class="bg-success navbar navbar-dark navbar-expand-sm">
  

  <!-- Links -->
  <ul class="navbar-nav">
    <li class="nav-item">
      <a class="nav-link" href="#about">ABOUT</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#pricing">MENU</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#featured-dish">FEATURED</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#reserve">RESERVATION</a>
    </li>
    <li class="nav-item">
      <a class="nav-link" href="#contact">CONTACT</a>
    </li>

    <!-- Dropdown -->
    <li class="nav-item dropdown">
      <a class="nav-link dropdown-toggle" href="#" id="navbardrop" data-toggle="dropdown">
        DROPDOWN
      </a>
      <div class="dropdown-menu">
        <a class="dropdown-item" href="https://deliveroo.nl/">Deliveroo</a>
          <a class="dropdown-item" href="https://www.foodora.nl/">Foodora</a>
          <a class="dropdown-item" href="https://www.ubereats.com//">UberEats</a>
      </div>
    </li>
  </ul>
</nav>
<br>
  
<div class="container">
  <h3>Navbar With Dropdown</h3>
  <p>This example adds a dropdown menu in the fixed navbar on Top,This example adds a dropdown menu in the fixed navbar on Top, This example adds a dropdown menu in the fixed navbar on Top, This example adds a dropdown menu in the fixed navbar on Top, This example adds a dropdown menu in the fixed navbar on Top.</p>
</div>

</body>
</html>
0 голосов
/ 18 октября 2018

Можете ли вы попробовать приведенную ниже строку меню вместе с выпадающими меню.

https://www.w3schools.com/bootstrap4/tryit.asp?filename=trybs_navbar_dropdown&stacked=h

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...