在jQuery中,你是如何制作的,所以DIV会保持不变直到用户向下滚动会使它不再可见(此时它将自己的CSS位置设置为“固定”)?这是我经常看到的一个技巧,只是不确定它是如何完成的。
示例:http://www.yelp.com/search?find_desc=sushi&ns=1&find_loc=San+Francisco%2C+CA
答案 0 :(得分:3)
以下是一些代码的简单示例:
var standardPosition = $('div').offset().top;
$(window).scroll(function() {
if ($(this).scrollTop() > standardPosition) $('div').css('position','fixed');
else $('div').css('position','relative');
});
将起始位置存储在某个位置非常重要,因此您知道何时向上滚动到足以将其恢复到原来的位置。
答案 1 :(得分:1)
你正在寻找一个Sticky Scroller。看看这个:jQuery Sticky Scroller / Position:Fixed Plugin
答案 2 :(得分:0)
使用$(window).scroll()
检查window
的Y位置,一旦达到>而不是div元素的Y位置(可以使用offset()
获得),你可以将css更改为fixed。
这样的事情:
$(window).scroll(function(e){
var e = $('div').offset();
if ($(window).scrollTop() > e.top){
$('div').css('position','fixed').css('top',0);
}else{
$('div').css('position','static');
}
});