当前位置:首页 > 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'

js实现向上滚动

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

使用 requestAnimationFrame 自定义动画

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

js实现向上滚动

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);

监听按钮点击事件

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

<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 实现继承

原型链继承 通过让子类的原型对象指向父类的实例来实现继承。子类实例可以访问父类原型上的属性和方法。 function Parent() { this.name = 'parent'; } Par…

js实现延迟

js实现延迟

实现延迟的方法 在JavaScript中,实现延迟操作有多种方式,以下是几种常见的方法: 使用setTimeout函数 setTimeout是JavaScript中最常用的延迟执行方法。它接受一个回…

js实现授权

js实现授权

授权流程设计 授权流程通常涉及前端与后端的交互,常见方案包括OAuth2.0、JWT等。以JWT为例的典型流程: 用户提交凭证(如用户名密码)到认证服务 服务端验证通过后生成包含用户信息的JWT令牌…

js实现文字滚动

js实现文字滚动

实现文字滚动的几种方法 使用CSS动画实现滚动 通过CSS的@keyframes和transform属性可以实现平滑的文字滚动效果。 <style> .scroll-text { w…

js实现上传文件

js实现上传文件

文件上传的基本实现 使用HTML的<input type="file">元素配合JavaScript的File API可以实现文件上传功能。 <input type="file"…

js实现导航菜单

js实现导航菜单

使用HTML和CSS创建基础结构 导航菜单的基础结构通常由HTML的无序列表(<ul>)和列表项(<li>)组成,每个列表项包含一个链接(<a>)。CSS用于样式化…