【发布时间】:2014-02-07 12:51:58
【问题描述】:
我现在让#filter(我的侧边栏白色选择列表)变为fixed
当它到达顶部并在滚动期间停留在那里,直到它到达脚并释放。
我的问题是我的头部有一个<div> 框,位于fixed,
所以#filter 从一开始就不会被固定到页面顶部。
这意味着在它连接到固定位置之前我得到了一个抓举。
我怎样才能让它在到达顶部之前变成fixed 40px?
$(function() {
var top = $('#filter').offset().top,
footTop = $('#outside_footer_wrapper').offset().top,
maxY = footTop - $('#filter').outerHeight();
console.log(top , footTop, maxY);
$(window).scroll(function(evt) {
var y = $(this).scrollTop();
console.log(y);
if (y > top) {
console.log('mayor');
$('#filter').addClass('fixed').removeAttr('style');
if (y > maxY-130){
var min = y - maxY + 130;
console.log('mayor y menor', min);
$('#filter').css('top','-'+min+'px');
}
} else {
$('#filter').removeClass('fixed');
}
});
});
【问题讨论】:
标签: javascript css position fixed