使div粘在屏幕顶部并在敲击页脚之前停止

时间:2011-10-19 10:24:50

标签: jquery css scroll

一旦用户开始向下滚动页面,我就试图对标题进行操作。 我找到了这个例子 How can I make a div stick to the top of the screen once it's been scrolled to?

我使用了24票的代码。 Live demo

问题:  我想在击中页脚之前让div停止。我不想在页脚上显示它。  2.我不知道为什么这适用于jquery 1.3.2但不适用于1.5.2或更高版本。

当然任何其他jquery代码/插件或ideea都会很棒!

1 个答案:

答案 0 :(得分:4)

$(window).load($(function()
{
    var elem = $("#scroller");
    var top = elem.offset().top;
    var maxTop = $("#footer").offset().top - elem.height();
    var scrollHandler = function()
    {
      var scrollTop = $(window).scrollTop();
      if (scrollTop<top) {
        elem.css({position:"relative",top:""})//should be "static" I think
      } else if (scrollTop>maxTop) {
        elem.css({position:"absolute",top:(maxTop+"px")})
      } else {
        elem.css({position:"fixed",top:"0px"})
      }
    }
    $(window).scroll(scrollHandler);scrollHandler()

}));

小提琴:http://fiddle.jshell.net/3ATzd/2/show/ 只是认为它不喜欢#scroller上的margin-top。我还删除了对scroller-anchor元素的需求,因此你可以删除它。