【问题标题】:How do I make my footer "stick" to bottom when "near" top of site?当“靠近”网站顶部时,如何使页脚“粘在”底部?
【发布时间】:2014-04-23 07:24:06
【问题描述】:

当网站加载时我有这个工作。底部的页脚。然后,当您滚动到内容时,它会滚动到顶部。然后当它到达顶部时,它会在顶部粘贴(持久标题)作为站点导航。这一切都有效。

问题是,当我滚动回顶部时,我希望页脚再次“粘”到底部。现在它最终会在浏览器底部的上方或下方,具体取决于监视器。

我已经阅读了为类似主题提供的答案,它们解决了页脚粘在底部的问题,我需要的是一旦用户滚动回到网站顶部附近,它就会“粘”回到底部。

有人可以帮我完成这个吗?

这是测试站点的位置,只需滚动即可显示我的问题。

http://jsfiddle.net/billy_comic/AQrsf/

     $(function(){
     var stickyRibbonTop = $('#main-nav').offset().top;

     $(window).scroll(function(){
            if( $(window).scrollTop() > stickyRibbonTop ) {
                    $('#main-nav').css({position: 'fixed', top: '0px'});
            } else {
                    $('#main-nav').css({position: 'static', top: '0px'});
            }
    });
    });

非常感谢任何帮助。

B

【问题讨论】:

标签: javascript jquery html css


【解决方案1】:

如果从用户窗口高度不变的假设出发,可以确定footer的最小y位置。

然后,当用户滚动到此位置上方时,您可以将页眉/页脚的位置从固定(y = 0)更改为绝对(y = window_height - header_footer_height)。

在此基础上进行扩展,如果窗口高度发生变化,您也可以更新位置。

【讨论】:

  • 我会在 jquery 中执行此操作,还是可以使用 CSS3 来完成?
  • 我的直觉是使用一个组合:每个状态的 CSS(#whatever.header {...}#whatever.footer {...}),并使用 jQuery 在适当的时间切换类。
  • 好的,那我应该为此重写上面的jquery,还是调整它?抱歉,戴夫,我是 jquery 的菜鸟。谢谢
猜你喜欢
  • 2015-03-23
  • 2013-01-18
  • 2023-04-01
  • 2013-09-26
  • 1970-01-01
  • 1970-01-01
  • 2013-10-27
  • 2011-06-30
相关资源
最近更新 更多