0

请参考这个jsfiddle

我想在其滚动顶部小于 50 时更改 div #fixed 的 css。但它根本不检查条件 (fixedscrolltop < 50)

#fixed div 应在其偏移量小于 50 时重新定位。而不是在滚动事件发生时

4

1 回答 1

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

小提琴

于 2013-06-19T09:34:37.753 回答