【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' });
相关推荐
呆头鸭L2 分钟前
Electron进程通信
前端·javascript·electron·前端框架·vue
2501_924952696 分钟前
分布式缓存一致性
开发语言·c++·算法
张元清24 分钟前
使用 Hooks 构建无障碍 React 组件
前端·javascript·面试
Yupureki35 分钟前
《Linux系统编程》12.基础IO
linux·运维·c语言·开发语言·数据库·c++
淮北49435 分钟前
bash下好用的快捷键以及linux常用指令
linux·开发语言·ubuntu·bash
薛定谔的猫喵喵1 小时前
卸载 Python 3.8 报错 “Could not set file security” 的终极解决方案
开发语言·python
Mahut1 小时前
从零构建神经影像可视化库:neuroviz 的架构设计与实现
前端·javascript·github
奇怪的猫1 小时前
浏览器窗口最小化的时候,setInterval 执行变慢,解决方案
前端·javascript
看山是山_Lau1 小时前
代码命名规范原则与原理
c语言·开发语言