Kros的博客 Kros的博客
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云

Kros

凡心所向,素履以往,生如逆旅,一苇以航
首页
  • CSS
  • 工具
  • Vue
  • js
  • Vue3
  • 算法
  • 折腾笔记
一言
  • 分类
  • 标签
  • 归档
码云
  • CSS

  • JavaScript

    • 兼容ie7的水平无限滚动
    • 节流防抖
    • 数组乱序
    • 开启全屏
    • 数据类型
    • 变量提升
    • this调用指向
    • 原型及原型扩展
    • js获取元素属性精度问题
    • setTimeout和setInterval
    • 数组判断
    • dom节点添加或插入元素
    • var、let和const的区别
    • 判断ellipsis是否省略生效
    • 使用ResizeObserver监听元素size变化
    • js自定义事件
    • use strict详解
    • 私有属性
    • js实现类的方式
    • call和apply的理解和使用
    • js失焦和点击事件顺序冲突
    • js中不常见但非常实用的运算符
    • for of和for in的区别
    • defer和async的区别
    • promise值穿透
    • js为什么会出现数字精确度丢失
    • js禁用F12开发者模式
    • 使用scrollTop和scrollTo滚动到目标位置
    • js实现打字机效果
    • 多种方式实现数组去重
    • 替换使用setTimeout
    • encodeURI和encodeURIComponent的区别
    • canvas实现弹跳小球
    • js实现跨标签页通信
    • 事件循环与微任务、宏任务
    • 浏览器存储数据方式
    • 常见的meta元数据使用
    • 使用InterSectionObserver判断元素区域(chatGPT)
  • 工具

  • Vue

  • antdv踩坑记录

  • Vue3

  • 前端
  • JavaScript
kros
2024-02-28

使用scrollTop和scrollTo滚动到目标位置

在JavaScript中,scrollTo和scrollTop属性通常用于控制和获取元素的滚动位置。

# scrollTop

scrollTop属性表示元素内容垂直滚动的像素值。可以读取这个属性来获取当前元素滚动到的位置,也可以设置这个属性来滚动到指定位置。

示例:

// 获取当前滚动位置
var currentScroll = document.documentElement.scrollTop;

// 滚动到指定位置
document.documentElement.scrollTop = 500; // 滚动到距离顶部500像素的位置
1
2
3
4
5

使用scrollTop可以设置滚动位置,但因为是通过dom来设置的,所以过渡动画对该属性是无效的

# scrollTo

scrollTo方法允许你将元素滚动到指定的位置。它接受两个参数:水平位置和垂直位置,单位都是像素。

示例:

// 滚动到指定位置
window.scrollTo(0, 500); // 滚动到距离顶部500像素的位置,水平位置为0
1
2

或者,你也可以使用一个对象作为参数,包含top、left和behavior属性:

window.scrollTo({
 top: 500,  // 滚动到距离顶部500像素的位置
 left: 0,   // 水平位置为0
 behavior: 'smooth' // 平滑滚动
});
1
2
3
4
5

scrollTo方法的behavior参数设置为'smooth'可以实现平滑滚动效果,而不是瞬间跳转。

scrollTop不止用于window上,普通的可滚动元素也可以调用该方法,如下:

<div id="box">
  <!-- 内容 -->
</div>

<script>
let boxEle = document.getElementById('box')
boxEle.scrollTo({ left: 0, top: 200, behavior: 'smooth' }); // 滚动到顶部200像素的位置
</script>

<style>
  #box {
    height: 500px;
    overflow-y: scroll;
  }
</style>
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

使用scrollTo相比scrollTop可以设置过渡动画,推荐使用scrollTo来设置滚动位置。

上次更新: 2025/09/05, 8:09:00
js禁用F12开发者模式
js实现打字机效果

← js禁用F12开发者模式 js实现打字机效果→

最近更新
01
Find the next perfect square
09-05
02
Regex validate PIN code
09-05
03
Find the odd int
09-05
更多文章>
Theme by Vdoing | Copyright © 2020-2025 kros king
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
icon-heart-o icon-heart icon-infinity icon-pause icon-play link next prev