gpt4 book ai didi

jquery - 将 Bootstrap Navbar 固定在滚动顶部

转载 作者:行者123 更新时间:2023-11-28 11:03:34 28 4
gpt4 key购买 nike

  1. 我在页面顶部有一个 div (named=status bar)height = 25pxtop:0位置:固定
  2. 我想在此状态栏下方放置一个 Bootstrap navbar(透明背景)100px
  3. 当页面滚动时,navbar 滚动并触及状态栏,并且:3.1.固定在状态栏下方。3.2.将其背景颜色更改为 红色 (#ff0000)。3.3.页面的其余部分向下滚动。
  4. 当页面向上滚动时,navbar 和状态栏的位置保持不变,直到滚动几乎到达浏览器的顶部。
  5. 当到达浏览器顶部时,状态栏保持在#1 中的位置。 navbar 滚动并设置为距状态栏 100px 的距离。

HTML(状态栏)

<div class="genxcoders-status-bar">     <div class="genxcoders-left genxcoders-fc-white genxcoders-fw-500">
<span id="genxcoders-date"></span>
</div>
<div class="genxcoders-center">
Support: <i class="fa fa-phone"></i> +91-712-606 GENX
</div>
<div class="genxcoders-right">
<ul class="genxcoders-status-bar-social">
<a href="#"><li><i class="fa fa-facebook-f"></i></li></a>
<a href="#"><li><i class="fa fa-twitter"></i></li></a>
<a href="#"><li><i class="fa fa-linkedin"></i></li></a>
<a href="#"><li><i class="fa fa-youtube-play"></i></li></a>
</ul>
</div> </div>

HTML(导航栏)

<div class="nav-container" id="navigation">
<div id="genxcoders" class="navbar navbar-default " role="navigation">
<div class="container-fluid">
<div class="navbar-header"><a class="navbar-brand" href="#">BlueGas</a>
<button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-menubuilder">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</div>
<div class="collapse navbar-collapse navbar-menubuilder">
<ul class="nav navbar-nav navbar-right">
<li class="active"><a href="/">Home</a></li>
<li><a href="/about-us">About Us</a></li>
<li class="dropdown">
<a href="/products" class="dropdown-toggle" data-toggle="dropdown">Products <b class="caret"></b></a>
<ul class="dropdown-menu" role="menu">
<li><a href="#">Services</a></li>
</ul>
</li>
<li><a href="/contact">Contact Us</a></li>
</ul>
</div>
</div>
</div>
</div>

CSS(状态栏)

/* 状态栏 */

.genxcoders-status-bar {    width: 100%;    height: 25px;       background-color: #1976d2;      position: fixed;    top: 0;     z-index: 9999; }

.genxcoders-status-bar > .genxcoders-left, .genxcoders-status-bar > .genxcoders-center, .genxcoders-status-bar > .genxcoders-right { width: 33.33%; height: 25px; line-height: 25px; font-size: 12px; float: left; text-align: center; color: #ffffff; }

.genxcoders-status-bar > .genxcoders-right > ul.genxcoders-status-bar-social { list-style: none; margin-left:
-30px; } .genxcoders-status-bar > .genxcoders-right > ul.genxcoders-status-bar-social > a > li { color: #ffffff; display: inline-block; margin: auto 10px; }

/* 状态栏 */

CSS 导航栏/* 应用栏 */

.nav-container {    margin-top:100px;       width: 100%;    height: 50px;
} .nav-container > #genxcoders.navbar-default .navbar-brand {
color: rgba(33, 33, 33, 1); } .nav-container > #genxcoders.navbar-default {
font-size: 15px;
/*background-color: rgba(255, 255, 255, 1);*/ background-color: transparent;
border-width: 0px;
border-radius: 0px; } .nav-container > #genxcoders.navbar-default .navbar-nav>li>a {
color: rgba(33, 33, 33, 1);
/*background-color: rgba(255, 255, 255, 1);*/ background-color: transparent; } .nav-container > #genxcoders.navbar-default .navbar-nav>li>a:hover, .nav-container > #genxcoders.navbar-default .navbar-nav>li>a:focus {
color: rgba(255, 255, 255, 1);
background-color: rgba(3, 169, 244, 1); } .nav-container > #genxcoders.navbar-default .navbar-nav>.active>a, .nav-container > #genxcoders.navbar-default .navbar-nav>.active>a:hover, .nav-container > #genxcoders.navbar-default .navbar-nav>.active>a:focus {
color: rgba(255, 255, 255, 1);
background-color: rgba(25, 118, 210, 1); } .nav-container > #genxcoders.navbar-default .navbar-toggle {
border-color: #1976d2; } .nav-container > #genxcoders.navbar-default .navbar-toggle:hover, .nav-container > #genxcoders.navbar-default .navbar-toggle:focus {
background-color: #1976d2; } .nav-container > #genxcoders.navbar-default .navbar-toggle .icon-bar {
background-color: #1976d2; } .nav-container > #genxcoders.navbar-default .navbar-toggle:hover .icon-bar, .nav-container > #genxcoders.navbar-default .navbar-toggle:focus .icon-bar {
background-color: #ffffff; }

/* 应用栏 */

FIDDLE

最佳答案

你的 fiddle 有很多问题,有些比其他的更严重:

  • 您正在通过 http:// 而不是 https:// 加载 jQuery,而 jsFiddle 会阻止它。
  • 您正在根据 #navigation.offset() 检查 window.scrollTop() 但您更改了 #navigationoffset( ) 使用 CSS 并且它会导致状态栏在状态之间闪烁。将它与硬值进行比较,例如 100px(当它未固定时,它是 #navigation 的顶部边距,因此它按预期工作。
  • 您在 scroll() 函数之外定义了 var elementPosition,因此它不会在滚动时更新
  • 您的 .scroll() 函数太重了。只需将类 (fixed?) 添加到 #navigation 并将所有 CSS 放在 #navigation.fixed { } 声明中,在您的CSS。我没有在更新的 fiddle 中完成最后一点,但我强烈推荐它。
  • 您的 CSS 选择器太强大了。只使用足够强大的选择器,而不是更强的选择器。例如,您使用以下方式设置 .navbar-brand 的样式:
 .nav-container > #genxcoders.navbar-default .navbar-brand {}

...,但你只需要一个比

强的选择器
.navbar-default .navbar-brand {}

您可以分别使用 #navigation .navbar-brand {} 和:
#navigation.fixed .navbar-brand {}

您的 updated fiddle .

关于jquery - 将 Bootstrap Navbar 固定在滚动顶部,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43389257/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com