曾几何时编写一个返回顶部函数麻烦得要死,需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对象。一行核心代码就能搞掂的事情为何还编写那么多代码去完成,不累吗?