如何设置jQuery浮动div的下限

时间:2012-10-16 20:39:31

标签: jquery jquery-animate fixed

div animate scroll上升和下降$(document).ready(function(){ $(window).scroll(function () { set = $(document).scrollTop()+"px"; $('#bymail-inner').animate({top:set},{duration:500,queue:false}); }); }); ,这是代码,

{{1}}

它的效果非常好,但有一种方法可以在它接近页面底部时停止它吗?

2 个答案:

答案 0 :(得分:0)

您可以获取视口高度并针对scrollTop进行检查。如果你想让它与底部的距离不超过100px ......

$(window).scroll(function () {
    // added a var so set won't be a global variable
    var set = $(window).height() - 100 > $(document).scrollTop() ? $(document).scrollTop() : $(window).height() - 100;
    $('#bymail-inner').animate({top:set},{duration:500,queue:false});
});

它使用三元运算符来查看视口 - 100是否大于滚动顶部,如果使用滚动顶部,则将其设置为视口高度 - 100。

答案 1 :(得分:0)

有一种非常好的方法可以检测用户是否使用少量DOM数学滚动到页面底部附近:

$(window).scroll(function() {
    if($(window).scrollTop() + $(window).height() > $(document).height() - 100) {
        //User near the bottom, fix it where you want the element to be
        $('#bymail-inner').animate({top:($(window).height()/2)},{duration:500,queue:false});
    }else{
        set = $(document).scrollTop()+"px";
        $('#bymail-inner').animate({top:set},{duration:500,queue:false});
    }
});