请参阅此jsfiddle
我希望在其scrolltop小于50时更改div #fixed的css。但它根本不检查条件(fixedscrolltop < 50)
。
#fixed div应在其偏移量小于50时重新定位。不是在滚动事件发生时
答案 0 :(得分:0)
您应该使用.scrollTop()
代替.offset()
来获得想要的效果。
$('document').ready(function () {
$(window).on('scroll', function () {
var fixedscrolltop = $(window).scrollTop();
height = $('#fixed').position().top;
if (fixedscrolltop >= height-50)
{
$('#fixed').css({
position: 'fixed',
top: '0'
});
}
});
});
您阅读了元素的position().top
,并将其scrollTop
减去您想要的值。在您的情况下50
请参阅 FIDDLE