在窗口的滚动事件中检查div的scrolltop

时间:2013-06-19 09:32:09

标签: jquery

请参阅此jsfiddle

我希望在其scrolltop小于50时更改div #fixed的css。但它根本不检查条件(fixedscrolltop < 50)

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

1 个答案:

答案 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