使用bootstrap 3使导航栏在第一页中不可见

时间:2014-05-21 04:55:46

标签: twitter-bootstrap scrollspy

在我的项目中,我创建了一个像http://jsfiddle.net/hiepnx/8SDQZ/

这样的卷轴
<!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" />
<title>Untitled Document</title>
<link rel="stylesheet" href="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/css/bootstrap.min.css") />
<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="http://netdna.bootstrapcdn.com/bootstrap/3.0.0/js/bootstrap.min.js"></script>
</head>

<body data-spy="scroll" data-target="#main-nav">
<div class="container">
<header class="row">
 <!-- Navigation Bar -->
      <nav id="main-nav" class="navbar navbar-default navbar-fixed-top navbar-inverse darken" role="navigation">
        <!-- Brand and toggle get grouped for better mobile display -->
        <div class="navbar-header">
          <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-ex1-collapse">
            <span class="sr-only">Toggle navigation</span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
            <span class="icon-bar"></span>
          </button>
          <a class="navbar-brand" href="#"></a>
        </div>

        <!-- Collect the nav links, forms, and other content for toggling -->
        <div class="collapse navbar-collapse navbar-ex1-collapse">
          <ul class="nav navbar-nav">
            <li><a href="#slider">Home</a></li>
            <li><a href="#services">Services</a></li>
            <li><a href="#portfolio">Portfolio</a></li>
            <li><a href="#testimonials">Testimonials</a></li>

          </ul>
        </div><!-- /.navbar-collapse -->
      </nav><!-- End of Navigation Bar -->
  </header>
  <section id="slider" style="height:900px; background-color:red;">
  </section>
    <section id="services" style="height:900px; background-color:yellow;">
  </section>
    <section id="portfolio" style="height:900px;background-color:purple;">
  </section>
    <section id="testimonials" style="height:900px;">
  </section>
</div>
</body>
</html>

现在,我想在mediafire.com的主页上发挥效果。

效果是导航栏在第一页中不可见,只有在我们滚动到第二页时才会显示。

我该怎么做?

谢谢,

2 个答案:

答案 0 :(得分:1)

您可以在页面加载时将导航栏设置为不可见,在到达第二页后,您可以使用以下事件将其设置为可见:

$('#myScrollspy').on('activate.bs.scrollspy', function () {
    // check if second page is activated then set navbar visible
});

<强>解释

只要新卷项被scrollspy激活,此事件就会触发。

有关此活动的详细信息,请检查getbootstrap scrollSpy

答案 1 :(得分:0)

试试这个Working Fiddle。我用了.scrollTop() > 750。它意味着从顶部到达你想要的'值',我设置为“750”,例如,淡入淡出/淡出将生效。希望能帮助到你。

JQUERY:

$('#main-nav').hide();
$(window).scroll(function() {
    if ($(this).scrollTop() > 750)
     {
        $('#main-nav').fadeIn();
     }
    else
     {
      $('#main-nav').fadeOut();
     }
 });

注意:如果你不喜欢淡化/淡出效果,可以使用.show / .hide。