当前位置:首页 > JavaScript

js实现向上滚动

2026-04-04 06:24:21JavaScript

使用 window.scrollTo 方法

通过 window.scrollTo 方法可以平滑滚动到页面顶部。传递 { top: 0, behavior: 'smooth' } 作为参数可以实现平滑滚动效果。

window.scrollTo({
  top: 0,
  behavior: 'smooth'
});

使用 Element.scrollIntoView 方法

选择一个页面顶部的元素(如 document.bodydocument.documentElement),调用 scrollIntoView 方法并设置 behavior: 'smooth'

document.body.scrollIntoView({
  behavior: 'smooth',
  block: 'start'
});

使用 requestAnimationFrame 自定义动画

通过逐步修改 scrollTop 值实现自定义滚动动画,适合需要更精细控制的场景。

function scrollToTop() {
  const duration = 1000; // 动画持续时间(毫秒)
  const start = window.pageYOffset;
  const startTime = performance.now();

  function animateScroll(currentTime) {
    const elapsed = currentTime - startTime;
    const progress = Math.min(elapsed / duration, 1);
    window.scrollTo(0, start * (1 - progress));
    if (progress < 1) {
      requestAnimationFrame(animateScroll);
    }
  }

  requestAnimationFrame(animateScroll);
}

scrollToTop();

使用 CSS scroll-behavior 属性

在 CSS 中为根元素设置 scroll-behavior: smooth,之后调用 window.scrollTo 或链接跳转时会自动平滑滚动。

html {
  scroll-behavior: smooth;
}
// 无需额外配置,直接调用即可
window.scrollTo(0, 0);

监听按钮点击事件

为“返回顶部”按钮绑定点击事件,触发上述任意滚动方法。

js实现向上滚动

<button id="backToTop">返回顶部</button>
document.getElementById('backToTop').addEventListener('click', () => {
  window.scrollTo({ top: 0, behavior: 'smooth' });
});

兼容性提示

  • behavior: 'smooth' 在 IE 和部分旧版浏览器中不支持,需使用 polyfill 或自定义动画。
  • scroll-behavior: smooth 同样需检查浏览器兼容性。

标签: js
分享给朋友:

相关文章

js 进度条的实现

js 进度条的实现

使用 HTML 和 CSS 创建基础进度条 HTML 结构可以简单使用一个 div 元素作为容器,内部嵌套另一个 div 表示进度: <div class="progress-containe…

jquery.js

jquery.js

jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互等操作。以下是关于 jQuery.js 的核心信息和使用方法: 获…

js实现复制到剪贴板

js实现复制到剪贴板

使用document.execCommand方法(传统方式,已废弃但部分浏览器仍支持) 该方法适用于旧版浏览器,但已被标记为废弃。执行前需确保文本已被选中: function copyToClipb…

js实现列表

js实现列表

使用 JavaScript 实现列表 JavaScript 提供了多种方式来实现列表功能,包括数组操作、DOM 元素动态生成等。以下是几种常见的实现方法: 使用数组存储列表数据 数组是 JavaSc…

js实现vue路由

js实现vue路由

Vue 路由的基本实现 在 Vue.js 中实现路由功能通常使用 Vue Router 库。Vue Router 是 Vue.js 官方的路由管理器,用于构建单页面应用(SPA)。 安装 Vue R…

js实现跑马灯

js实现跑马灯

实现跑马灯效果 使用HTML和JavaScript可以轻松实现跑马灯效果。以下是两种常见的实现方式: HTML结构 <div id="marquee"> <span>…