Javascript 如何停止页脚处的浮动(滑动)div

Javascript 如何停止页脚处的浮动(滑动)div,javascript,jquery,html,header,floating,Javascript,Jquery,Html,Header,Floating,我使用此链接中的代码创建浮动菜单。它有如何在页眉处停止停止浮动,而不是在页脚处停止浮动。如何修改此代码以停止在页脚处 //// CONFIGURATION VARIABLES: var name = "#sidebar"; var menu_top_limit = 0; var menu_top_margin = 0; var menu_shift_duration = 500; var menuYloc = null; //////////////////////////

我使用此链接中的代码创建浮动菜单。它有如何在页眉处停止停止浮动,而不是在页脚处停止浮动。如何修改此代码以停止在页脚处

    //// CONFIGURATION VARIABLES:

var name    = "#sidebar";
var menu_top_limit   = 0;
var menu_top_margin  = 0;
var menu_shift_duration = 500;
var menuYloc = null;
///////////////////////////////////

$(window).scroll(function() 
{ 
 // Calculate the top offset, adding a limit
 offset = menuYloc + $(document).scrollTop() + menu_top_margin;

 // Limit the offset to 241 pixels...
 // This keeps the menu out of our header area:
 if(offset < menu_top_limit)
  offset = menu_top_limit;

 // Give it the PX for pixels:
 offset += "px";

 // Animate:
 $(name).animate({top:offset},{duration:menu_shift_duration,queue:false});
 });
///配置变量:
var name=“#侧栏”;
var menu_top_limit=0;
变量菜单\顶部\边距=0;
var菜单\u移位\u持续时间=500;
var menuYloc=null;
///////////////////////////////////
$(窗口)。滚动(函数()
{ 
//计算顶部偏移,添加限制
offset=menuYloc+$(文档).scrollTop()+菜单\u顶部\u边距;
//将偏移限制为241像素。。。
//这会将菜单保留在标题区域之外:
if(偏移量<菜单\顶部\限制)
偏移=菜单\顶部\限制;
//将像素的像素值设为PX:
偏移+=“px”;
//制作动画:
$(名称).animate({top:offset},{duration:menu\u shift\u duration,queue:false});
});
我有另一个类似的代码,应该停在页脚,但它不起作用:

var name = "#sidebar";  
var menuYloc = null;  
var footer = '#footer'; //Specify the ID for your footer.

 $(document).ready(
    function()
    {  
        menuYloc = parseInt($(name).css("top").substring(0,$(name).css("top").indexOf("px")))  
        $(window).scroll(
            function() 
            {   
                var offset = menuYloc + $(document).scrollTop();
                var anotherOffset = offset;

                var docTop = $(window).scrollTop();
                var footerTop = $(footer).offset().top;

                var maxOffset = footerTop - $(name).height() - 20;
                var minOffset = docTop;

                offset = offset > maxOffset ? maxOffset : offset;
                offset = offset < minOffset ? minOffset : offset;

                $(name).animate({top:offset + 'px'},{duration:500,queue:false});      
            }
        );  
    }
);
var name=“#侧栏”;
var menuYloc=null;
var footer='#footer'//指定页脚的ID。
$(文件)。准备好了吗(
函数()
{  
menuYloc=parseInt($(name).css(“top”).substring(0,$(name).css(“top”).indexOf(“px”))
$(窗口)。滚动(
函数()
{   
var offset=menuYloc+$(document.scrollTop();
var anotherOffset=偏移量;
var docTop=$(window.scrollTop();
var footerTop=$(footer.offset().top;
var maxOffset=footerTop-$(名称).height()-20;
var minOffset=docTop;
偏移量=偏移量>最大偏移量?最大偏移量:偏移量;
偏移量=偏移量<最小偏移量?最小偏移量:偏移量;
$(名称).animate({top:offset+'px'},{duration:500,queue:false});
}
);  
}
);

如果你想知道如何保持页脚在底部,中间滚动,我想我已经完成了。请看下面我的博客文章(在“网页上”一节下),去看看它的实际效果


听起来您想要一个始终可见的页脚。创建两个绝对元素,一个在页面顶部,一个在页面底部,不是要容易得多吗。然后将所有内容添加到具有100%宽度/高度的div中(必须使用javascript)

然后你就不必把东西连接到身体的滚动事件上(这看起来从来都不是很好)

如果在内容前后添加一个偏移量或一些换行符,应该比您尝试的效果好得多


我已经完成了。

吉姆,不太清楚,不过谢谢你的及时回复。我有一个有目的的浮动导航菜单,这样用户就不必滚动回顶部,但当我到达底部时,它会与页脚重叠。最简单的解决方案是将页脚变小(从300px到推荐的241px),但我太固执了,想用code.nope试试。我有一个完整的浮动菜单,如图所示: