Skip to content

曾几何时编写一个返回顶部函数麻烦得要死,需scrollTop定时器条件判断三者配合才能完成。其实DOM对象里隐藏了一个很好用的函数可完成上述功能,一行核心代码就能搞定。

该函数就是scrollIntoView,它会滚动目标元素的父容器使之对用户可见,简单概括就是相对视窗让容器滚动到目标元素位置。它有三个可选参数能让scrollIntoView滚动起来更优雅。

  • behavior:动画过渡效果,默认auto无,可选smooth平滑
  • inline:水平方向对齐方式,默认nearest就近对齐,可选start顶部对齐center中间对齐end底部对齐
  • block:垂直方向对齐方式,默认start顶部对齐,可选center中间对齐end底部对齐nearest就近对齐
js
const gotopBtn = document.getElementById("gotop-btn");
openBtn.addEventListener("click", () => document.body.scrollIntoView({ behavior: "smooth" }));
复制代码

当然还可滚动到目标元素位置,只需将document.body修改成目标元素的DOM对象。一行核心代码就能搞掂的事情为何还编写那么多代码去完成,不累吗?