首页 > 解决方案 > Bootstrap 4 导航栏滚动错误

问题描述

我有一个 Django 登陆页面 + 一些额外的描述页面。

我将带有 bootstrap 4 scrollspy 的导航栏存储在 base.html 文件中,它们指向 home.html 上的 ID。当我在主页上时,它就像在官方 bootstarp示例中一样工作。

1.错误

但是当我转到其他页面时,它只会将此 URL 放在“ http://127.0.0.1:8000/home/services/#pricing ”下并留在“ http://127.0.0.1:8000/home/services/ “网址。

我也收到一条终端错误消息:

Not Found: /docs/4.3/dist/js/bootstrap.bundle.min.js
[13/Jan/2020 16:16:35] "GET /docs/4.3/dist/js/bootstrap.bundle.min.js HTTP/1.1" 404 2509

我见过:

2.错误

在原始示例中,它向用户发送的导航栏区域被突出显示。我的根本没有突出显示。

3. 错误

当我滚动或通过单击它们转到任何导航栏元素时,导航栏不会停留在顶部。

如果我实现以下任何一项,则它涵盖了页面的前几行。为了将导航栏保持在这些行之上,我使用<div class="godown-60" id="godown"></div>了代码留置权。

我试过class="":

Fixed navbar 
fixed-top 
sticky-top

base.html

<body>
  <header>
    <nav id="navbar-example2" class="navbar navbar-static-top navbar-light bg-light">
      <a class="navbar-brand" href="{% url 'home' %}" > HOME PAGE </a>
      <ul class="nav nav-pills">
        <li class="nav-item">
          <a class="nav-link" href="#about">About</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#services">Services</a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="#pricing">Pricing</a>
        </li>
      </ul>
    </nav>
...

主页.html

<body>
  <div data-spy="scroll" data-target="#navbar-example2" data-offset="0">
    <h4 id="about">About</h4>
      <a href="{% url 'about' %}">AboutTest</a>
    <p>...</p>
    <h4 id="services">Services</h4>
      <a href="{% url 'services' %}">ServicesTest</a>
    <p>...</p>
    <h4 id="pricing">Pricing</h4>
      <a href="{% url 'pricing' %}">PricingTest</a>
    <p>...</p>
  </div>
...

标签: javascripthtmlcssdjangobootstrap-4

解决方案


This example have solved ERROR 1 and 3 (2 wasn't that important) https://getbootstrap.com/docs/4.0/examples/navbar-top-fixed/#

ERROR 1 solution, bey using specified address (these can be actual URL's on the site or libraries as well)

href="home/help/#main"
<html lang="en">

<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no">
  <meta name="description" content="">
  <meta name="author" content="">
  <link rel="icon" href="/docs/4.0/assets/img/favicons/favicon.ico">

  <title>Fixed top navbar example for Bootstrap</title>

  <link rel="canonical" href="https://getbootstrap.com/docs/4.0/examples/navbar-top-fixed/">

  <!-- Bootstrap core CSS -->
  <link href="../../dist/css/bootstrap.min.css" rel="stylesheet">

  <!-- Custom styles for this template -->
  <link href="navbar-top-fixed.css" rel="stylesheet">
</head>


<body>
  <nav class="navbar navbar-expand-md navbar-dark fixed-top bg-dark">
    <a class="navbar-brand" href="#">Fixed navbar</a>
    <button class="navbar-toggler" type="button" data-toggle="collapse" data-target="#navbarCollapse" aria-controls="navbarCollapse" aria-expanded="false" aria-label="Toggle navigation">
      <span class="navbar-toggler-icon"></span>
    </button>
    <div class="collapse navbar-collapse" id="navbarCollapse">
      <ul class="navbar-nav mr-auto">
        <li class="nav-item active">
          <a class="nav-link" href="#">Home <span class="sr-only">(current)</span></a>
        </li>
        <li class="nav-item">
          <a class="nav-link" href="home/help/#main">Link</a>
        </li>
        <li class="nav-item">
          <a class="nav-link disabled" href="#">Disabled</a>
        </li>
      </ul>
      <form class="form-inline mt-2 mt-md-0">
        <input class="form-control mr-sm-2" type="text" placeholder="Search" aria-label="Search">
        <button class="btn btn-outline-success my-2 my-sm-0" type="submit">Search</button>
      </form>
    </div>
  </nav>

  <!-- this solves ERROR 3 -->
  <!-- having a separated section -->
  <main role="main" class="container">
    <div class="jumbotron">
      <h1>Navbar example</h1>
      <p class="lead">This example is a quick exercise to illustrate how fixed to top navbar works. As you scroll, it will remain fixed to the top of your browser's viewport.</p>
      <a class="btn btn-lg btn-primary" href="../../components/navbar/" role="button">View navbar docs »</a>
    </div>
  </main>
  <!-- XXXXXXXXXXXXXXXXXXXXXXXXXXXX -->

  <!-- Bootstrap core JavaScript
  ================================================== -->
  <!-- Placed at the end of the document so the pages load faster -->
  <script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
  <script>window.jQuery || document.write('<script src="../../assets/js/vendor/jquery-slim.min.js"><\/script>')</script>
  <script src="../../assets/js/vendor/popper.min.js"></script>
  <script src="../../dist/js/bootstrap.min.js"></script>
</body>


</html>


推荐阅读