首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >固定浮动元素在页脚停止

问固定浮动元素在页脚停止
EN

Stack Overflow用户
提问于 2011-05-24 04:40:28
回答 3查看 9.7K关注 0票数 3

我使用了http://jqueryfordesigners.com/fixed-floating-elements中的代码在滚动到某个点后浮动元素。这是我正在工作的网站:http://bodyecology.com/articles/gut-type-update

如您所见,滚动时右边的列变得固定,但在页脚处重叠。我怎样才能让它停在页脚上方呢?

当前正在使用:

代码语言:javascript
复制
<script>
    jQuery(document).ready(function () {  
    var top = jQuery('#news_sidebar').offset().top - parseFloat(jQuery('#news_sidebar').css('marginTop').replace(/auto/, 0));
    jQuery(window).scroll(function (event) {

        var y = jQuery(this).scrollTop();

        if (y >= top) {

        jQuery('#news_sidebar').addClass('fixed');

        } else {

       jQuery('#news_sidebar').removeClass('fixed');
    }
  });
 });
</script>
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-09-04 08:25:06

此小提琴实现了您想要的功能:

http://jsfiddle.net/ZczEt/9/

下面是处理右边浮动元素$('#summary')的javascript:

代码语言:javascript
复制
$('#summary').scrollToFixed({
    marginTop:
        $('.header').outerHeight() + 10,
    limit:
        $('.footer').offset().top -
        $('#summary').outerHeight() -
        10
});

下面是jquery插件及其源代码:

https://github.com/bigspotteddog/ScrollToFixed

票数 6
EN

Stack Overflow用户

发布于 2013-02-02 15:26:32

我有和你一样的代码,让我的div从同样的文章“Fixing-Floating Elements”中浮点出来。

和你在页脚重叠时遇到的问题一样,对我来说唯一有效的解决方案(我是javascript newvie)就是用下面的代码把div从页脚中拉出来:

代码语言:javascript
复制
$(window).scroll(function () {

            // distance from top of footer to top of document
            footertotop = ($('#footer').position().top);
            // distance user has scrolled from top, adjusted to take in height of sidebar (570 pixels inc. padding)
            scrolltop = $(document).scrollTop() + 570;
            // difference between the two
            difference = scrolltop - footertotop;

            // if user has scrolled further than footer,
            // pull sidebar up using a negative margin

            if (scrolltop > footertotop) {

                $('#cart').css('margin-top', 0 - difference);
            }

            else {
                $('#cart').css('margin-top', 0);
            }


        });

这对我很有帮助,我希望其他人也会发现它有帮助:)我已经在我的网站上实现了它,这样用户就可以获得full articles view

票数 1
EN

Stack Overflow用户

发布于 2011-05-24 04:49:22

我可能错了,但它似乎是右侧边栏中内容的大小。它是重叠的,因为它太大了,当你滚动到底部时,它不会重叠。

你可以把相同的停止和重新定位在底部,就像在顶部一样。当您滚动到顶部时,它会重新定位自己。在页脚也试一试。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6102776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档