首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在多个页面上重用导航栏?

如何在多个页面上重用导航栏?
EN

Stack Overflow用户
提问于 2015-08-12 08:19:18
回答 5查看 223.7K关注 0票数 118

我刚刚完成了home/index.html页面的制作。使导航栏保持在原来的位置,并在用户单击我的所有页面时使其保持不变。我是否必须将导航代码复制并粘贴到每个页面的顶部?或者,有没有其他看起来更干净的方法呢?

HMTL nav:

代码语言:javascript
复制
<nav>
    <div>
        <a href="/">
            <div id="logo"><img src="image.png" alt="Home"/></div>
            <div id="headtag"><img src="image.png" alt="Home"/></div>
            <div id="tagline"><img src="image.png" alt="Home"/></div>
        </a>
    </div>
    <div> 
        <a href="/" class="here">Home</a>
        <a href="/about.html" >About</a>      
        <a href="/services.html" >Services</a>          
        <a href="/pricing.html" >Pricing</a>    
        <a href="/contact.html" >Contact Us</a>
        <input id="srchbar" type="search" placeholder="Search">
    </div>
</nav>
EN

回答 5

Stack Overflow用户

发布于 2017-02-20 06:05:53

这就是对我有帮助的。我的导航栏在body标签中。导航栏的整个代码都在nav.html文件中(没有任何html或body标签,只有导航栏的代码)。在目标页面中,这放在head标记中:

代码语言:javascript
复制
<script src="https://code.jquery.com/jquery-1.10.2.js"></script>

然后在body标记中,使用一个唯一的id和一个javascript块创建一个容器,以便将nav.html加载到容器中,如下所示:

代码语言:javascript
复制
<!--Navigation bar-->
<div id="nav-placeholder">

</div>

<script>
$(function(){
  $("#nav-placeholder").load("nav.html");
});
</script>
<!--end of Navigation bar-->
票数 107
EN

Stack Overflow用户

发布于 2015-11-24 00:38:05

我知道这是一个相当古老的问题,但是当您有可用的JavaScript时,您可以使用jQuery及其AJAX方法。

首先,创建一个包含导航栏的所有HTML内容的页面。

接下来,使用jQuery的$.get方法获取页面内容。例如,假设您已将所有导航栏的超文本标记语言放入一个名为navigation.html的文件中,并在index.html中添加了一个占位符标记(如<div id="nav-placeholder">),然后您将使用以下代码:

代码语言:javascript
复制
<script src="//code.jquery.com/jquery.min.js"></script>
<script>
$.get("navigation.html", function(data){
    $("#nav-placeholder").replaceWith(data);
});
</script>
票数 38
EN

Stack Overflow用户

发布于 2018-08-26 17:13:08

一种非常古老但足够简单的技术是使用"Server-Side Includes",将HTML页面包含到具有.shtml扩展的顶级页面中。例如,这将是您的index.shtml文件:

代码语言:javascript
复制
<html>
<head>...</head>
<body>
<!-- repeated header: note that the #include is in a HTML comment -->
<!--#include file="header.html" -->
<!-- unique content here... -->
</body>
</html>

是的,它很差劲,但它是有效的。记住在您的HTTP服务器配置(this is how to do it for Apache)中启用SSI支持。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31954089

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档