javascript - 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
我见过:
- 从另一个页面访问时引导滚动间谍,但这是引导程序 3
- 和Twitter Bootstrap Scrollspy 根本不工作,这是一些非常旧版本的引导程序(+6 年前)
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>
...
解决方案
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>
推荐阅读
- c# - 如何为 fa 图标更改设置动画?
- php - 如何在 AWS 上的 Codeigniter 中使用 Websocket 实现服务器消息?一个
- c# - 存储代表的值
- python - 熊猫数据框,对滚动窗口中的任何列进行计算
- azure - 在两个受信任的域/应用程序之间解密由 asp.net core 2.1 Dataprotection API 加密的 cookie
- three.js - GLTFLoader 未定义 - THREE.js
- vue.js - 如何在 Chart Kick 中使用对数刻度?
- google-app-engine - 使用 app.yaml 从所有 url 文件名中删除 .html 以进行运行时
- c# - Blazor 客户端 - 重定向到登录页面
- flutter - 为什么不选择一个值并打印它(颤振)?