代码之家  ›  专栏  ›  技术社区  ›  Michael Shimmins

将页面滚动到某个点,然后开始只使用一个滚动条滚动div的溢出内容

  •  2
  • Michael Shimmins  · 技术社区  · 14 年前

    我在寻找一些关于如何使页面的滚动条滚动一个div的溢出内容,而不是页面一旦滚动到某个点的信息。

    最终的结果是将页面滚动到页眉不再可见的程度,但是从那时起向前滚动div的内容-使用主滚动条,而不是两个嵌套的滚动条。

    1 回复  |  直到 14 年前
        1
  •  1
  •   Pat    14 年前

    你可以用 scrollTop property 你的元素。首先,您需要确定标题的结束位置(滚动窗口的位置):

    var header = $('#header');
    var headerBottom = header.offset().top + header.height();
    

    然后可以将窗口的滚动条设置为以下位置:

    $(window).animate({scrollTop: headerBottom});
    

    一旦解决了这个问题,你就会得到一个引用,指向你想要滚动的元素,并设置它的动画 scrollTop 位置(与上面滚动 window ).

    最后你需要一个 scroll event handler

    $(window).scroll(function(){
        // logic to determine which element should be scrolling
    });