javascript - 将一个 div 堆叠在隐藏在滚动条上的 Bootstrap 导航栏之上

标签 javascript jquery html css twitter-bootstrap

我正在为一个网站使用 bootstrap,我正在尝试创建一个位于未滚动网站上导航栏上方的 div,但是当我开始滚动时它会消失并且导航栏会填满该位置。

我用它“工作”了:

HTML

<div class="container">
    <div class="row">
        <div class="hidden-xs col-md-offset-8 col-sm-offset-8" style="padding:2px 0 3px 0;">
            <span class="btcall">Call for a free quote call - <span class="badge"><i class="glyphicon glyphicon-earphone"></i> 1300 123 456</span>
        </div>
    </div>
</div>
<nav class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
etc etc

JavaScript

$(window).scroll(function() {
  if ($(document).scrollTop() > 50) {
    $('nav').addClass('shrink');
  } else {
    $('nav').removeClass('shrink');
  }
});

CSS

.navbar-fixed-top {
     top:25px;
 }

nav a {
  padding-top: 20px !important;
  padding-bottom: 20px !important;
  font-size: 16px;
}

nav .navbar-toggle {
  margin: 13px 15px 13px 0;
}

.navbar-brand {
  font-size: 30px !important;
  margin-top:-15px;
}

.navbar-fixed-top.shrink {
    top:0px;
}

 nav.navbar.shrink {
  min-height: 35px;
}

nav.shrink a {
  padding-top: 15px !important;
  padding-bottom: 10px !important;
  font-size: 14px;
}

nav.shrink .navbar-brand {
  font-size: 20px !important;
  margin-top:0;
}

这并不理想,我觉得它可以做得更聪明,但我不确定如何做。从本质上讲,我希望它固定在导航栏上并隐藏在滚动条上,而不是卡在原地,只有当浏览器向右滚动到顶部时才会出现。

最佳答案

如果您的导航栏固定在窗口的顶部,您的导航栏会随着页面滚动,并且您希望只有当用户滚动到页面顶部时,导航栏上方才会出现一个 div,下面将工作。

如果这不是您所需要的,请更详细地解释 ui,或者最好创建一个 jsfiddle

$(window).scroll(function() {
  if ($(document).scrollTop() > 50) {
    $('.hideMe').fadeOut('slow');
  } else {
    $('.hideMe').fadeIn('slow');
  }
});
.floatMenu {
    position:fixed;
    top:0;
    left:0;
    width:100%;
}

/* below this line is only for my made up example navigation*/

li {
    display: inline;
}
.pre-container{
  background-color:#cccccc;
}

.hideMe{
  background-color:#999999;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="pre-container floatMenu">
<div class="container hideMe">
  <div class="row">
    <div class="hidden-xs col-md-offset-8 col-sm-offset-8" style="padding:2px 0 3px 0;"> 
      <span class="btcall">Call for a free quote call - </span>
      <span class="badge"><i class="glyphicon glyphicon-earphone"></i> 1300 123 456</span> 
    </div>
  </div>
</div>
<nav  class="navbar navbar-default navbar-fixed-top topnav" role="navigation">
  <!--im making up a menu for my example-->
  <ul>
  <li><a href="default.asp">Home</a></li>
  <li><a href="news.asp">News</a></li>
  <li><a href="contact.asp">Contact</a></li>
  <li><a href="about.asp">About</a></li>
</ul>
  </nav>
</div>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
  <br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

关于javascript - 将一个 div 堆叠在隐藏在滚动条上的 Bootstrap 导航栏之上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28447837/

相关文章:

javascript - VueJS 中的 AJAX 数据更新后 DOM 不更新

html - 高度似乎无法在 Chrome 77 上正常工作

javascript - 使用jsoup Android登录后如何获取javascript变量?

javascript - 结合 _.memoize 和 _.throttle 来限制函数调用并在时间窗口内缓存结果?

javascript - 解析 JSON 树 - Jquery

jquery - DataTables jQuery插件在初始加载后设置recordsTotal

javascript - Uncaught ReferenceError : $ is not defined in twig template with jQuery import

html - Font Awesome Bootstrap Icon Link去除样式装饰

javascript - 使用 JQuery 预填充选择字段的下拉选项验证

javascript - Ember Mirage 保留数据