我现在已经#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');
}
});
});
答案 0 :(得分:0)
将if语句添加/更改为:
console.log(y);
if (y >= (top-y)) {
这是链接jsfiddle
<强>更新强>
将其更改回此$('#filter').css('top','-'+min+'px');