Javascript 如何使用jQuery在指定点停止浮点div

Javascript 如何使用jQuery在指定点停止浮点div,javascript,jquery,html,Javascript,Jquery,Html,当浮动(滑动)div到达包含div的底部时,我试图阻止它,但它不工作。变量bottom是包含div的页面上的最低点,但由于某些原因,它不能正常工作。有谁有更好的方法吗 $(文档).ready(函数(){ var top=$('#buttonsDiv').offset().top-parseFloat($('#buttonsDiv').css('margin-top').replace(/auto/,0)); 变量bottom=$('#mainBody').offset().top+$('#mai

当浮动(滑动)div到达包含div的底部时,我试图阻止它,但它不工作。变量
bottom
是包含div的页面上的最低点,但由于某些原因,它不能正常工作。有谁有更好的方法吗

$(文档).ready(函数(){
var top=$('#buttonsDiv').offset().top-parseFloat($('#buttonsDiv').css('margin-top').replace(/auto/,0));
变量bottom=$('#mainBody').offset().top+$('#mainBody').height();
$(窗口)。滚动(功能(事件){
//卷轴的y位置是什么
var y=$(this.scrollTop();
var z=y+$('#buttonsDiv')。高度();
//是否在表格下方

如果(y>=top&&z尝试以下条件:

 if (y >= top && z <= bottom) {
    // if so, add the fixed class
    $('#buttonsDiv').addClass('fixed');
 } else if(z > bottom) {
    // otherwise remove it
    $('#buttonsDiv').removeClass('fixed').addClass('absolute');
 } else {
    // otherwise remove it
    $('#buttonsDiv').removeClass('fixed');
 }
如果(y>=顶部和z底部){
//否则,请将其移除
$('#buttonsDiv').removeClass('fixed').addClass('absolute');
}否则{
//否则,请将其移除
$('#buttonsDiv').removeClass('fixed');
}

滚动经过容器DIV(#mainBody)后,浮动DIV(#buttonsDiv)应将“绝对”放置在容器分区的底部。

在这种情况下,简单地用浮动分区定义边距底部或用外部分区填充底部应该会有所帮助。我在以下网站中使用了类似的方法:www.emotionstorm.com将购物车停在顶部横幅下方。
如果您需要类似代码的帮助,请告诉我。

在您的
.fixed
类中,您是否给出了
bottom:0;
?我尝试添加它,但仍然无效。问题是找到一种方法让滚动函数识别浮动元素的底部。我想我已经在上面的代码中解决了这一问题,但让它在t处停止包含它的div的底部让我感到困惑。你能包括你的html和css和/或一个工作示例吗?