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

标签 javascript jquery scroll overflow

我正在寻找有关如何使页面的滚动条在滚动到某个点后滚动 div 的溢出内容而不是页面的信息。

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

如果用户向上滚动,使 div 内容再次完全位于顶部,页面应恢复滚动并再次显示标题。

最佳答案

您可以使用 scrollTop property 来做到这一点你的元素。首先,您需要确定 header 的结束位置(将窗口滚动到的位置):

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

然后您可以将窗口的滚动条动画化到这个位置:

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

一旦处理完毕,您将获得对您想要滚动的任何元素的引用,并为其 scrollTop 位置设置动画(与上面滚动 窗口的代码片段相同)。

最后你需要一个 scroll event handler这样您就可以确定何时该更改滚动内容的元素:

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

关于javascript - 将页面滚动到某一点,然后仅使用一个滚动条开始滚动 div 的溢出内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3700080/

相关文章:

javascript - 不使用 Paperjs 代码时 Paperjs 导致类语法错误

javascript - Angular7 运行时编译

javascript - 从节点 XSLT 中删除所有\n\r 字符?

javascript - Fancytree:配置我自己的键盘导航

html - HTML 元素溢出中的图像

javascript - 我可以在 EcmaScript 5 中使用新的 get 和 set 在一个声明中创建一个 javascript 函数吗?

javascript - Microsoft Edge 和 Internet Explorer 中的 Kendo UI MVC 中模型为空

jQuery scrollLeft() 被浏览器自动滚动到最后位置劫持

javascript - 向 Javascript 脚本添加更多 ID 或类

jquery - 在 JQuery 选择器中选择内部 html