如何在页脚停止浮动(滑动)div

时间:2009-11-14 00:47:26

标签: javascript jquery html header floating

How can I have a sliding menu div that doesn't move unless the page is scrolled down past a certain point

我使用此链接中的代码作为浮动菜单。它有如何停止在标题处停止浮动,但不是在页脚。如何修改此代码以停止在页脚?

    //// 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});      
            }
        );  
    }
);

2 个答案:

答案 0 :(得分:0)

如果您正在寻找如何将页脚保持在底部和滚动中间,我想我已经完成了这一点,请参阅下面的博客文章(在“On the the WebPage”部分下)转到{{3在行动中看到它。

http://www.jimleo.com

答案 1 :(得分:0)

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

然后你不必把东西挂钩到身体的滚动事件(这看起来永远不会很好)。

如果你在内容之前和之后添加一个偏移量或几个换行符,它应该比你尝试的更好。

我用my own page here完成了它。