【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' });
相关推荐
progalchemist4 分钟前
Quick SwiftObjective-C测试框架入门教程
开发语言·其他·objective-c·swift
z日火14 分钟前
Java 泛型
java·开发语言
广药门徒16 分钟前
Linux(含嵌入式设备如泰山派)VNC 完整配置指南:含开机自启动(适配 Ubuntu/Debian 系)
开发语言·php
jump_jump25 分钟前
妙用 localeCompare 获取汉字拼音首字母
前端·javascript·浏览器
U.2 SSD33 分钟前
Echarts单轴坐标系散点图
前端·javascript·echarts
不做无法实现的梦~41 分钟前
jetson刷系统之后没有浏览器--解决办法
开发语言·javascript·ecmascript
一只小松许️1 小时前
深入理解:Rust 的内存模型
java·开发语言·rust
Jedi Hongbin1 小时前
Three.js NodeMaterial 节点材质系统文档
前端·javascript·three.js·nodematerial
前端小马1 小时前
前后端Long类型ID精度丢失问题
java·前端·javascript·后端
eqwaak02 小时前
数据预处理与可视化流水线:Pandas Profiling + Altair 实战指南
开发语言·python·信息可视化·数据挖掘·数据分析·pandas