javascript – Bootstrap:多个页面(div)和导航栏

前端之家收集整理的这篇文章主要介绍了javascript – Bootstrap:多个页面(div)和导航栏前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想使用这个流行的模板:

http://getbootstrap.com/examples/navbar/

我不想链接到about.htm或contact.htm,这个内容应该在模板内(多个页面/ div).

这看起来像这样:

  1. <div>
  2. <div id="home">home...</div>
  3. <div id="about">about...</div>
  4. <div id="contact">contact...</div>
  5. </div>

但是如何从nav-tabs到divs“链接”?

这不起作用:

  1. <div id="navbar" class="navbar-collapse collapse">
  2. <ul class="nav navbar-nav">
  3. <li class="active"><a href="#">Home</a></li>
  4. <li><a href="#about">About</a></li>
  5. <li><a href="#contact">Contact</a></li>
  6. </ul>
  7. </div>

非常感谢!

解决方法

您需要使用JavaScript来执行此操作.

有多种方法可以实现这一目标.

选项1

创建一个index.html,指定一个< div class =“container”>把它留空然后使用jQuery将home.html加载到.container对象中,并对所有其他页面执行相同操作.

  1. $(document).ready(function() {
  2. $(".container").load("home.html");
  3. });
  4.  
  5. $("ul.navbar-nav li").each(function() {
  6. $(this).on("click",function{
  7. $(".container").load(($this).attr("data-page")+".html");
  8. });
  9. });

在这种情况下,您的URL的href值应该始终为“#”,如果您希望它显示about页面,您应该给它一个data-page =“about”.

选项2

在一个页面中创建所有div,给它们一个隐藏它们的类,使用jQuery隐藏所有div但是要显示的那个div.

  1. <div class="container">
  2. <div id="home"></div>
  3. <div id="about" class="hidden"></div>
  4. <div id="contact" class="hidden"></div>
  5. </div>

你的JavaScript文件

  1. $("ul.navbar-nav li").each(function() {
  2. $(this).on("click",function{
  3. // Toggle classes of divs
  4. });
  5. });

您可以阅读on this page来了解Bootstrap是如何做到的,因此您无需自己编写.

猜你在找的JavaScript相关文章