通过window.scrollTo实现丝滑跳转到页面的某个位置

原理

通过计算对应id的组件距离页面顶部的距离,来使用window.scrollTo丝滑跳转到该位置

代码如下:

html 复制代码
<div id="test1"></div>
<div id="test2"></div>
<div id="test3"></div>

<button  @click="scrollTo('test1')">丝滑跳转到指定id的div位置</button>
javascript 复制代码
    function scrollTo (id) {

      // 获取点击的按钮对应页面的id,及其相较于顶部的距离
      var PageId = document.querySelector('#' + id);
      var topHeight = PageId.offsetTop;

      // 使用平滑属性,滑动到上方获取的距离
      window.scrollTo({
        'top': topHeight,
        'behavior': 'smooth'
      })
    }
相关推荐
全栈技术负责人4 分钟前
我的大前端世界观 (黄玄 - FEDAY 2023)
前端
changlianzhifu15 分钟前
分账系统:从“资金管道“到“增长引擎“,重塑商业价值分配新范式
java·服务器·前端
异界蜉蝣7 分钟前
前端模块化的演进史:从混乱到秩序
前端
宠..8 分钟前
QButtonGroup
java·服务器·开发语言·前端·数据库·c++·qt
写代码的【黑咖啡】13 分钟前
Python中的文件操作详解
java·前端·python
Moment16 分钟前
一文搞懂 Tailwind CSS v4 主题变量映射背后的原理
前端·javascript·面试
我命由我1234518 分钟前
JavaScript WebGL - WebGL 引入(获取绘图上下文、获取最大支持纹理尺寸)
开发语言·前端·javascript·学习·ecmascript·学习方法·webgl
辛-夷19 分钟前
2025年高频面试题整理(vue系列一)
前端·javascript·vue.js·前端框架
GISer_Jing19 分钟前
ByteDance AI战略:前端生态的颠覆者
前端·人工智能·aigc
大布布将军32 分钟前
⚡️ 性能加速器:利用 Redis 实现接口高性能缓存
前端·数据库·经验分享·redis·程序人生·缓存·node.js