如何仅使用CSS滚动时将固定滑块移动到顶部

时间:2015-10-01 08:03:05

标签: html css

当我向下滚动时,我想将固定导航移动到顶部。我尽我所能但没有这样做。

以下是我正在寻找的代码和问题。

以下是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>

3 个答案:

答案 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>

中添加jQuery库
<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>