我一直在努力找出正确的方法。三个Div,顶部的广告分区,下方的标题分区,以及最下面的内容分区。在pg加载时,我打算让广告div显示,但滚动时,我打算将标题div保持在固定位置,top:0px,即位于页面顶部的内容上方。
请注意使用CSS中固定的位置,但是他们使用的方式与这个属性相矛盾,因为我需要标题div进一步向上移动,直到页面顶部在滚动页上,并保持位置固定在那里。
我还意识到将所有三个div放在一起的可能性,在滚动时,使用jquery,我将隐藏副词div,而标题div自然会向上移动到顶部,并保持其位置固定属性。
有什么建议吗?这里的JS Fiddle链接是一个快速的例子
发布于 2014-08-22 13:53:45
这是代码
$(document).ready(function () {
var top_fixed;
if ($('#header-con').length > 0)
{
top_fixed = $('#header-con').offset().top;
}
$(window).scroll(function () {
if ($('#header-con').length > 0)
{
$('#header-con').toggleClass('fixed', $(window).scrollTop() > top_fixed);
}
});
});
演示
更清晰的CSS
*{
margin:0;
padding:0;
}
#advert-con { color:yellow;height:130px;background:blue;width:100%;margin:0px;padding:0px;display:block; }
#header-con { height:170px;background:black;color:#fff!important;margin:0px;padding:0px; }
#content-con { height:700px;background:purple; }
.fixed {
position: fixed;
top: 0;
width:100%;
}
更新演示
制作#advert-con
fixed
.container{
margin-top:130px;
display:inline-block;
width:100%;
}
.container:after{
display:block;
clear:both;
content:"";
}
最终演示
发布于 2014-08-22 13:52:28
您可以这样做(用您的例子):
HTML:
<div id="advert-con">
<h3>
<br />
<br />
ADVERT DIV MUST BE OVERLAYED WITH BLACK DIV UPON SCROLLING </h3>
</div>
<!--end advert-con-->
<div id="header-con">
<h2>
<br />
<br />
HEADER DIV MUST REMAIN VISIBLE ON TOP</h2>
</div>
<!--end header-con-->
<div id="content-con">
<h4>Content Words Text Context</h4>
</div>
<!--end content-con-->
Jquery:
$(document).ready(function () {
var header = $('#header-con');
var distanceFromTop;
if (header.length > 0)
{
distanceFromTop = header.offset().top;
}
$(window).scroll(function () {
if (header.length > 0)
{
header.toggleClass('sticky-top', $(window).scrollTop() > distanceFromTop);
}
});
});
CSS:
.sticky-top {
position: fixed;
top: 0;
width:100%;
}
希望有帮助:)
https://stackoverflow.com/questions/25448418
复制相似问题