【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' });
相关推荐
feifeigo12320 分钟前
基于MATLAB的情感语音模板培训与识别实现方案
开发语言·matlab
JH307329 分钟前
Java Spring中@AllArgsConstructor注解引发的依赖注入异常解决
java·开发语言·spring
码农水水40 分钟前
米哈游Java面试被问:机器学习模型的在线服务和A/B测试
java·开发语言·数据库·spring boot·后端·机器学习·word
C++ 老炮儿的技术栈1 小时前
C/C++ 中 inline(内联函数)和宏定义(#define)的区别
开发语言·c++·git·算法·机器人·visual studio
我什么都学不会1 小时前
Python练习作业2
开发语言·python
henujolly2 小时前
ethers.js读取合约信息
开发语言·javascript·区块链
Eugene__Chen2 小时前
Java关键字(曼波版)
java·开发语言
wuhen_n2 小时前
高阶函数与泛型函数的类型体操
前端·javascript·typescript
无望__wsk2 小时前
Python第一次作业
开发语言·python·算法
Word码2 小时前
[C++语法]-vector(用法详解及实现)
开发语言·c++