-3

有没有一种使用 JQuery 的方法可以检测 div 何时开始离开屏幕,并更改其 CSS 以使其位置变为固定并卡在窗口底部?

4

4 回答 4

1

如果我是正确的,我认为您正在寻找的是带有航点的 JQuery 中的粘性元素。看看这个页面:JQuery Waypoints

于 2012-04-05T15:41:52.057 回答
0

CSS

.div-fixed {
  position: fixed;
  bottom: 10px;
  right: 10px;
}

JS

if ($('#mydiv').offset().top() + $('#mydiv').height() > $(document).height()) {
  $('#mydiv').addClass('div-fixed');
}
于 2012-04-05T15:36:34.390 回答
0

这是我以前使用过的jsFiddle 演示。

jQuery:

var stickerTop = parseInt($('#sticker').offset().top);
$(window).scroll(function() {
    $("#sticker").css((parseInt($(window).scrollTop()) + parseInt($("#sticker").css('margin-top')) > stickerTop) ? {
        position: 'fixed',
        top: '0px'
    } : {
        position: 'relative'
    });
});
于 2012-04-05T15:39:21.700 回答
0

JS

var backup_position_toolbar = $('#toolbar').offset().top;
$(window).scroll(function() {
    if ( $('#toolbar').offset().top - $(window).scrollTop() < 0 ) $('#toolbar').addClass('fixed');
    if ( $(window).scrollTop() < backup_position_toolbar ) $('#toolbar').removeClass('fixed');
});

CSS

.fixed {
    margin: 1px;
    position: fixed;
    top: 0;
}
于 2012-06-21T15:53:44.267 回答