Javascript 一个div中有多个类
这件事困扰了我一整天,在我放弃之前,我想我会看看是否有人能帮我 我有一个粘性标题,滚动时会向下移动。我使用的是bootstrap,在一个div中有两个类-Javascript 一个div中有多个类,javascript,jquery,html,css,twitter-bootstrap,Javascript,Jquery,Html,Css,Twitter Bootstrap,这件事困扰了我一整天,在我放弃之前,我想我会看看是否有人能帮我 我有一个粘性标题,滚动时会向下移动。我使用的是bootstrap,在一个div中有两个类-navbar用于常规视图,而navbarSticky用于滚动时的粘性效果 问题是当我在div里有两个类时,navbarSticky类完全消失,但是navbarSticky工作,只有当navbarSticky类从div中删除时,navbarSticky才会返回。我想这一定与CSS有关-navbarSticky具有比navbar更高的优先级 如果有
navbar
用于常规视图,而navbarSticky
用于滚动时的粘性效果
问题是当我在div里有两个类时,navbarSticky
类完全消失,但是navbarSticky
工作,只有当navbarSticky
类从div中删除时,navbarSticky
才会返回。我想这一定与CSS有关-navbarSticky
具有比navbar
更高的优先级
如果有人能帮我,我会非常感激的
这是我的导航栏:
<div class="navbar navbarSticky navbar-inverse navbar-static-top" role="navigation">
<div class="container">
<div class="row">
<div class="logo col-xs-6 col-md-6">
<ul class="pull-left">
<li><a href="">Theme</a></li>
</ul>
</div>
<div class="nav col-xs-6 col-md-6">
<ul class="pull-right">
<li><a href="">Home</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Products</a>
<ul>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
</ul>
</li>
<li><a href="">Services</a></li>
<li><a href="">Join</a></li>
<li><a href="">About</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
<div class="menu-button col-xs-6 col-md-6">
<ul class="pull-right">
<li>
<button id="menu-button" type="button" class="navbar-toggle collapsed" data-toggle="collapse" data-target="#bs-example-navbar-collapse-1">
<span class="sr-only">Toggle navigation</span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
<span class="icon-bar"></span>
</button>
</li>
</ul>
</div>
</div>
</div>
<div id="nav-dropdown" class="nav-dropdown col-xs-12 col-md-12">
<ul>
<li id="form">
<form class="navbar-form navbar-left" role="search">
<div class="form-group">
<input type="text" class="form-control" placeholder="Search">
</div>
<button type="submit" class="btn btn-default">Submit</button>
</form>
</li>
<li><a href="">Home</a></li>
<li class="dropdown">
<a href="#" class="dropdown-toggle" data-toggle="dropdown" role="button" aria-expanded="false">Products</a>
<ul>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
<li><a href="">Example Dropdown</a></li>
</ul>
</li>
<li><a href="">Services</a></li>
<li><a href="">Join</a></li>
<li><a href="">About</a></li>
<li><a href="">Contact</a></li>
</ul>
</div>
</div>
这是我的css
.navbar
{
background: #ffffff;
color: #2d3238;
position: relative;
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
height: 100px;
}
.navbarSticky
{
background: #ffffff;
box-shadow: 1px 5px 15px #ccc;
color: #2d3238;
display: none;
top: 0;
height: 100px;
left: 0;
right: 0;
position: fixed;
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
z-index: 9999;
}
更新:
我终于让它工作了,我只需要将jquery中的navbar更改为.navbar,但现在我有了一些从navbar跨越时navbarSticky的wierd跳跃效果。有人能帮忙吗?
navbarSticky
覆盖navbar
上的每个属性。不是因为navbar
类消失了,而是因为它自己的css属性都不占主导地位,所以在主导的navbarSticky
类被删除之前,你看不到任何内容。你能把你的代码放到一个?它使人们更容易了解问题所在。您是否尝试过将navbarsticky从初始html中删除?在你第一次向下滚动之前,它不应该在那里,对吗?为什么不使用导航栏上的position:fixed?或者,由于您使用的是引导,请使用“navbar navbar fixed top”类。它一开始不是位于屏幕顶部吗?首先,您不需要重复css规则。如果在元素上始终有.navbar
类,则无需在navbarSticky
中重写背景等。其次,我认为你应该重新考虑一下你的代码。目前我想首先让导航栏总是固定的。如果这样做有效,您可以添加javascript使其消失/显示在滚动条上。您可以通过添加或删除一个类(例如:.hidden
,类似于.hidden{top:-100px;}
)来实现这一点。感谢您的快速响应。我在导航栏上方有一个顶栏,所以使用position:fixed将不起作用。我试着离开html的NavBarouit,但那也不起作用,我只是没有想法了lol它让我发疯我想我花了太长时间在它上面,我的大脑被炸了lol。当我使用单独的div时,它起作用了,但那是很多样式和代码,我希望通过使用相同的div可以避免
.navbar
{
background: #ffffff;
color: #2d3238;
position: relative;
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
height: 100px;
}
.navbarSticky
{
background: #ffffff;
box-shadow: 1px 5px 15px #ccc;
color: #2d3238;
display: none;
top: 0;
height: 100px;
left: 0;
right: 0;
position: fixed;
-webkit-transition: all 1s;
-moz-transition: all 1s;
-ms-transition: all 1s;
-o-transition: all 1s;
transition: all 1s;
z-index: 9999;
}