当我向下滚动时,我想将固定导航移动到顶部。我尽我所能但没有这样做。
以下是我正在寻找的代码和问题。
以下是Link
#lower {
background: #c8e600;
background-image: url(images/headerimg.png);
background-repeat: no-repeat;
background-position: 40px;
width: 100%;
height: 60px;
position: fixed;
top: 0;
left: 0;
margin-top: 60px;
z-index: 100;
opacity: 0.80;
}
#lower ul li a {
background: rgba(0, 0, 0, 0) none repeat scroll 0 0;
color:#000;
font-family: "Source Sans Pro", sans-serif;
padding-left: 2px;
padding-right: 2px;
text-align: right;
padding-bottom: 16px;
padding-top: 26px;
}
#lower ul li {
padding: 10px;
list-style-type: none;
padding-left: 8px;
float: right;
list-style:none;
margin-bottom:0px;
margin-left:0px;
margin-right:0px;
margin-top:0px;
transform: rotate(-360deg);
}
#lower ul li a:hover {
background:#FFF;
transition: all 1.5s ease 0s;
}
#lower ul li:hover {
transform: rotate(0deg);
transition: transform 1.5s;
}
<div id="lower">
<ul>
<li><a href="theContact.html">the<strong>CONTACT</strong></a></li>
<li><a href="#">the<strong>BLOG</strong></a></li>
<li><a href="#">the<strong>TRAINERS</strong></a></li>
<li><a href="#">see<strong>SCHDULE</strong></a></li>
<li><a href="#">popular<strong>PROGRAMS</strong></a></li>
<li><a href="#">Our<strong>CLASES</strong></a></li>
<li><a href="#">why<strong>US</strong></a></li>
</ul>
</div>
<div style="width:100%;overflow:auto"><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 />
<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 />
</div>
答案 0 :(得分:0)
CSS更改:
#lower
{
margin-top:0;
top:40px;
jQuery解决方案:
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script>
</head>
注意:您必须在<head>
<script>
$(document).ready(function(e) {
$(document).on('scroll',function()
{
if(window.pageYOffset>180)
{
$('#lower').css({'top':'0px'});
}else
{
$('#lower').css({'top':'40px'});
}
});
})
</script>
DEMO jQuery: https://jsfiddle.net/0andyke4/3/
JavaScript解决方案:
<script>
window.addEventListener("scroll",move);
function move()
{
if(window.pageYOffset>180)
{
document.getElementById("lower").style.top = 0;
}else
{
document.getElementById("lower").style.top =40+'px';
}
}
</script>
DEMO JavaScript: https://jsfiddle.net/0andyke4/7/
答案 1 :(得分:0)
尝试将标题的位置更改为绝对位置。
.header-1 {
position: absolute;
}
如果将滚动阈值更改为30
:
if( scroll >= 30)
{
$('.header-1, .header-2, .header-4 .header-4-inner, .menu-style- 5').addClass("sticky-navigation");
}
答案 2 :(得分:0)
如果您只想使用CSS,则必须从头开始修复标头。
在您提供的链接中,标题相对于文档的其余部分开始。触发某个滚动位置后,JAVASCRIPT用于将定位从relative
更改为fixed
。
如果没有JavaScript,你可以这样做:
.header {
position:fixed;
background-color:#f00;
width:100%;
height:100px;
top:0px;
left:0px;
}
.page {
margin-top:100px; /*height of the header*/
padding: 10px;
}
<div class="header">Header</div>
<div class="page">Page
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
<p><br /></p>
long page...
</div>