0

滚动页面时我需要一个固定的 div,但在顶部和底部值之间。现在我有这个代码并且它可以工作,但是当我找到页面底部时,我找不到停止它的解决方案。 . 我想要一个 400px 的底部间隙(我的页脚的高度)..

jQuery(document).ready(function () {
    var el = jQuery('#news_right_cont');
    var elpos = el.offset().top;
    var gap = 174;
    jQuery(window).scroll(function () {
        var y = jQuery(this).scrollTop();
        if (y < elpos) {
            el.stop().animate({
                'top': 174
            }, 0);
        } else {
            el.stop().animate({
                'top': y - elpos + gap
            }, 0);
        }
    });
});

我希望你能找到一个解决方案..谢谢

4

1 回答 1

0

您可以使用以下内容来查找滚动是否已到达页面底部

 if (document.documentElement.clientHeight + y >= document.body.offsetHeight) {
        //add your conditions                
    }

而不是你的 if else

if (y < elpos) {
            el.stop().animate({
                'top': 174
            }, 0);
        } else {
            el.stop().animate({
                'top': y - elpos + gap
            }, 0);
        }

添加以下内容

if (document.documentElement.clientHeight + y + 400 < document.body.offsetHeight) {
                             el.stop().animate({ top: y - elpos + gap }, 0);
            }

您基本上只在限制范围内滚动。`document.documentElement.clientHeight + y + 40 中的数字 400 你可以根据你的页脚位置进行修改

于 2013-01-31T23:52:47.317 回答