请参考这个jsfiddle
我想在其滚动顶部小于 50 时更改 div #fixed 的 css。但它根本不检查条件 (fixedscrolltop < 50)
。
#fixed div 应在其偏移量小于 50 时重新定位。而不是在滚动事件发生时
你应该使用.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
见小提琴