使div开始中间页面,但随着用户向下滚动页面,它仍然在顶部?
问题描述:
更好举一个例子来说明我所描述的内容。使div开始中间页面,但随着用户向下滚动页面,它仍然在顶部?
具有类别列表的div元素开始在页面中间,但是当用户向下滚动时,它仍然在顶部?
我知道如何使一个固定的元素。我的问题是,如何让元素默认显示在页面的中心,但随着用户向下滚动,元素将保持在顶部。
答
下面是我想要查找的快速jsFiddle example。基本上你有一个相对最初定位的div,然后当页面滚动时,位置变为固定。 jQuery在这里用$(window).scroll事件进行重写。
的jQuery:
var stickerTop = parseInt($('#sticker').offset().top);
$(window).scroll(function() {
$("#sticker").css((parseInt($(window).scrollTop()) + parseInt($("#sticker").css('margin-top')) > stickerTop) ? {
position: 'fixed',
top: '0px'
} : {
position: 'relative'
});
});
CSS:
body {
width: 960px;
}
#mainbar {
width: 660px;
float: left;
}
#sidebar {
width: 270px;
float: right;
}
#sticker {
width: 200px;
padding: 10px;
margin-top:25px;
background: #eee;
border: 1px solid #ccc;
}
@ come2gether如果你使用jQuery,这是一个简单的解决方案。如果你不是,你可以很容易地调整一个纯粹的JS解决方案。 – Umbrella 2012-04-10 20:34:14