我使用此链接中的代码作为浮动菜单。它有如何停止在标题处停止浮动,但不是在页脚。如何修改此代码以停止在页脚?
//// 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 = "#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});
}
);
}
);
答案 0 :(得分:0)
如果您正在寻找如何将页脚保持在底部和滚动中间,我想我已经完成了这一点,请参阅下面的博客文章(在“On the the WebPage”部分下)转到{{3在行动中看到它。
答案 1 :(得分:0)
听起来你想要一个始终可见的页脚。创建两个绝对元素不是一件容易的事,一个在页面顶部,一个在底部。然后将所有内容添加到具有100%宽度/高度的div(必须使用javascript执行此操作)。
然后你不必把东西挂钩到身体的滚动事件(这看起来永远不会很好)。
如果你在内容之前和之后添加一个偏移量或几个换行符,它应该比你尝试的更好。
我用my own page here完成了它。