【javascript】关于js控制滚动的一些注意事项

滚动方式有2种

1、element.scrollIntoView

javascript 复制代码
// 假设你有一个元素的ID是'element-id'
const element = document.getElementById('element-id');
// 滚动到该元素
element.scrollIntoView();
// 如果你想要平滑滚动,可以传递一个选项对象
element.scrollIntoView({ behavior: 'smooth' });

PS:这种方式有2种已知情况下会不生效

  • scrollIntoView()的元素的父容器必须设置滚动,例如:overflow-y: auto;,请注意,这里说的是父容器,是不包含祖先容器的!!!
  • scrollIntoView()requestAnimationFrame()目前不能同时存在

2、element.scrollTo

javascript 复制代码
// 假设你有一个元素的ID是'element-id'
const element = document.getElementById('element-id');
// 滚动到该元素
element.scrollTo(0, 100); // x,y坐标
// 如果你想要平滑滚动,可以传递一个选项对象
element.scrollTo({ top: offsetTop, behavior: 'smooth' });
相关推荐
s9123601011 天前
【Rust】使用lldb 调试core dump
前端·javascript·rust
爱吃烤鸡翅的酸菜鱼1 天前
用【rust】实现命令行音乐播放器
开发语言·后端·rust
全栈陈序员1 天前
用Rust和Bevy打造2D平台游戏原型
开发语言·rust·游戏引擎·游戏程序
黛琳ghz1 天前
用 Rust 从零构建高性能文件加密工具
开发语言·后端·rust
悟世君子1 天前
Rust 开发环境搭建
开发语言·后端·rust
代码狂想家1 天前
Rust时序数据库实现:从压缩算法到并发优化的实战之旅
开发语言·rust·时序数据库
黛琳ghz1 天前
用 Rust 打造高性能 PNG 压缩服务
开发语言·后端·rust
IT闫1 天前
Rust的内存安全与实战落地的直观解析
开发语言·安全·rust
zhouyunjian1 天前
syncronized使用与深入研究
java·开发语言