typescript 如何平滑地将一个元素滚动到其可滚动父元素的顶部,而不滚动页面的其余部分?

6mw9ycah  于 2023-02-05  发布在  TypeScript
关注(0)|答案(1)|浏览(255)

我有一个可滚动的容器,里面有很多元素,我希望能够平滑地将一个元素滚动到可滚动容器的顶部,但不影响页面的其余部分,所以页面的其余部分不应该滚动。
其行为应类似于scrollIntoView({ behavior: 'smooth', inline: 'start', block: 'start' })
我创建了一个示例Svelte REPL来演示:https://svelte.dev/repl/10ef4392a20e46c588f89d7622479196?version=3.55.1
当单击按钮时,第20行应该平滑地滚动到容器的顶部,而页面不会向下滚动,因此结果应该如下所示:

我想滚动到的元素应该在容器的顶部,而不是底部。
我知道有很多关于javascript的滚动问题,但是我没有找到一个好的答案。有没有办法做到这一点?

xlpyo6sf

xlpyo6sf1#

我发现scroll-into-view-if-needed包可以做到这一点,它允许你指定一个boundaryhttps://www.npmjs.com/package/scroll-into-view-if-needed?activeTab=readme

相关问题