【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' });
相关推荐
2501_941882485 分钟前
在开普敦跨区域部署环境中构建高可靠分布式配置中心的设计思路与实现实践
开发语言·c#
一只小小Java6 分钟前
Java面试场景高频题
java·开发语言·面试
Ljubim.te9 分钟前
inline介绍,宏定义的注意事项以及nullptr
c语言·开发语言·c++
亓才孓10 分钟前
多态:编译时看左边,运行时看右边
java·开发语言
小白探索世界欧耶!~10 分钟前
用iframe实现单个系统页面在多个系统中复用
开发语言·前端·javascript·vue.js·经验分享·笔记·iframe
2501_9418787414 分钟前
在奥克兰云原生实践中构建动态配置中心以支撑系统稳定演进的工程经验总结
开发语言·python
weixin_4432978815 分钟前
Python打卡训练营第31天
开发语言·python
围炉聊科技19 分钟前
Vibe Kanban:Rust构建的AI编程代理编排平台
开发语言·rust·ai编程
hqwest33 分钟前
码上通QT实战04--主窗体布局
开发语言·css·qt·布局·widget·layout·label
leiming636 分钟前
c++ qt开发第一天 hello world
开发语言·c++·qt