我有一个可滚动的容器,里面有很多元素,我希望能够平滑地将一个元素滚动到可滚动容器的顶部,但不影响页面的其余部分,所以页面的其余部分不应该滚动。
其行为应类似于scrollIntoView({ behavior: 'smooth', inline: 'start', block: 'start' })
。
我创建了一个示例Svelte REPL来演示:https://svelte.dev/repl/10ef4392a20e46c588f89d7622479196?version=3.55.1
当单击按钮时,第20行应该平滑地滚动到容器的顶部,而页面不会向下滚动,因此结果应该如下所示:
我想滚动到的元素应该在容器的顶部,而不是底部。
我知道有很多关于javascript的滚动问题,但是我没有找到一个好的答案。有没有办法做到这一点?
1条答案
按热度按时间xlpyo6sf1#
我发现scroll-into-view-if-needed包可以做到这一点,它允许你指定一个
boundary
。https://www.npmjs.com/package/scroll-into-view-if-needed?activeTab=readme