3

我正在使用 Bootstrap Pill Navigation (Bootstrap 4)。代码如下:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="bootstrap-4.5.0-dist/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
    <script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
    <script type="text/javascript" src="bootstrap-4.5.0-dist/js/bootstrap.min.js"></script>
  </head>

  <body>
    <div class="container-fluid">
      <ul class="nav nav-pills">
        <li class="nav-item"><a id="homeMenu" class="nav-link active" data-toggle="pill" href="#home">HOME</a></li>
        <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#about">ABOUT</a></li>
        <li class="nav-item"><a class="nav-link" data-toggle="pill" href="#contact">CONTACT</a></li>
      </ul>
      <div class="tab-content container-fluid">
        <div id="home" class="tab-pane fade show active" style="background-color:yellow">
          <h1>Home</h1>
        </div>

        <div id="about" class="tab-pane fade" style="background-color:red">
           <h1>About</h1>
        </div>

        <div id="contact" class="tab-pane fade" style="background-color:orange">
          <h1>Contact</h1>
        </div>
      </div>
    </div>
  </body>
</html>

此代码在 localhost 上完美运行。但是当它上线时,链接不会重定向到相应的 ID。相反,该域仅显示为www.xyz.com/#(id)(单击相应链接时)并停留在初始视图(即主页选项卡)上。我是新手,所以不确定我哪里出错了!请帮忙!

4

5 回答 5

1

这通常是由于Javascript、bootstrap 和 jquery文件没有从它们各自的文件夹中正确引用造成的,因为您在本地使用它们,请确保它们被正确定位或使用它们的直接 CDN 链接来引用它们。

可能的解决方案是:

  1. 将“../”添加到您的脚本 src 链接

这取决于文件夹的级别或层次结构。

  1. 使用引导文件的 CDN 版本。

  1. 将脚本放在页面底部而不是标题区域。
于 2020-09-01T10:19:05.433 回答
1

要创建锚链接,您必须命名目标。您可以使用纯 HTML。如果没有表示超链接的 href 属性,则锚点不会被视为链接,但它们的格式与“普通”文本没有区别。

W3C解释

所以:

<a href="#home">This is the link</a>
<a name="home">This is the target</a>

在你的情况下:

<!-- Links -->
<ul class="nav nav-pills">
    <li><a href="#home">HOME</a></li>
    <li><a href="#about">ABOUT</a></li>
    <li><a href="#contact">CONTACT</a></li>
</ul>

<!-- Sections -->
<div id="home">
    <a name="home"><h1>Home</h1></a>
</div>
<div id="about">
    <a name="about"><h1>About</h1></a>
</div>
<div id="contact">
    <a name="contact"><h1>Contact</h1></a>
</div>
于 2020-08-31T16:42:07.127 回答
1

尝试使用 jquery 和 bootstrap 的 CDN 版本,即替换这些行

<link href="bootstrap-4.5.0-dist/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="js/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="bootstrap-4.5.0-dist/js/bootstrap.min.js"></script>

<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" rel="stylesheet" type="text/css" />
<script type="text/javascript" src="https://code.jquery.com/jquery-3.5.1.min.js"></script>
<script type="text/javascript" src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js"></script>
于 2020-08-26T20:17:00.180 回答
0

毫不犹豫地尝试从https://www.bootstrapcdn.com/获取 {CSS, JS...} 的Bootstrap CDN 。

<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css" integrity="sha384-BVYiiSIFeK1dGmJRAkycuHAHRg32OmUcww7on3RYdg4Va+PmSTsz/K68vbdEjh4u" crossorigin="anonymous">


<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap-theme.min.css" integrity="sha384-rHyoN1iRsVXV4nD0JutlnGaslCJuC7uwjduW9SVrLvRYooPp2bWYgmgJQIXwl/Sp" crossorigin="anonymous">


<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js" integrity="sha384-Tc5IQib027qvyjSMfHjOMaLkfuWVxZxUPnCJA7l2mCWNIpG9mGCD8wGNIcPD7Txa" crossorigin="anonymous"></script>

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

有时我们在本地机器上工作时,我们只是根据我们的操作系统给出一个静态路径,但是当我们部署网站时,本地开发操作系统和部署操作系统有时会有所不同。因此,如果我们使用 CDN,那么问题将轻松解决。

于 2020-09-01T15:43:19.347 回答
0

最简单的解决方案是使用 CDN(也可以使用手动方法)

您可以插入以下代码段,它应该适合您!

<!DOCTYPE html>
<html lang="en">

  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/css/bootstrap.min.css" integrity="sha384-9aIt2nRpC12Uk9gS9baDl411NQApFmC26EwAOH8WgZl5MYYxFfc+NcPb1dKGj7Sk" crossorigin="anonymous">
    <script src="https://code.jquery.com/jquery-3.5.1.slim.min.js" integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj" crossorigin="anonymous">
    </script>
    <script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js" integrity="sha384-Q6E9RHvbIyZFJoft+2mJbHaEWldlvI9IOYy5n3zV9zzTtmI3UksdQRVvoxMfooAo" crossorigin="anonymous">
    </script>
    <script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.0/js/bootstrap.min.js" integrity="sha384-OgVRvuATP1z7JjHLkuOU7Xw704+h835Lr+6QL9UvYjZE3Ipu6Tp75j7Bh/kR0JKI" crossorigin="anonymous">
    </script>
    <link rel="stylesheet" href="./styles.css">
  </head>

  <body>
    <div class="container-fluid py-2">
      <ul class="nav nav-pills">
        <li class="nav-item mr-2"><a id="homeMenu" class="nav-link active bg-primary text-white" data-toggle="pill" href="#home">HOME</a></li>
        <li class="nav-item mr-2"><a class="nav-link bg-danger text-white" data-toggle="pill" href="#about">ABOUT</a></li>
        <li class="nav-item mr-2"><a class="nav-link bg-warning text-white" data-toggle="pill" href="#contact">CONTACT</a></li>
      </ul>
      <div class="tab-content mt-2">
        <div id="home" class="tab-pane fade show active bg-primary my-5 p-5">
          <h1>Home</h1>
        </div>

        <div id="about" class="tab-pane fade bg-danger my-5 p-5">
          <h1>About</h1>
        </div>

        <div id="contact" class="tab-pane fade bg-warning my-5 p-5">
          <h1>Contact</h1>
        </div>
      </div>
    </div>
  </body>

</html>

您可以直接从这里JSFiddle Link试用此代码段


如果您仍希望使用相对路径:

手动方法(在 Windows 中):

  1. 使用上述代码libraries在与您相同的目录中创建一个名为 as 的文件夹index.html
  2. 使用此链接下载文件。解压
  3. bootstrap.min.css文件复制bootstrap-4.5.2-dist\css到库目录
  4. bootstrap.bundle.min.jsfrom复制bootstrap-4.1.3-dist\js到库目录
  5. 使用此链接下载 jquery 文件。将内容复制到jquery-3.5.1.min.js库目录中的文件中
  6. 更新 HTML 代码如下:

<head>
   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <link rel="stylesheet" href="./libraries/bootstrap.min.css">
   <script src="./libraries/jquery-3.5.1.min.js"></script>
   <script src="./libraries/bootstrap.bundle.min.js"></script></script>
</head>

PS:我知道它很冗长,但只是为了绝对肯定!

于 2020-09-01T17:34:26.167 回答