当前位置:首页 > JavaScript

js 实现滚屏

2026-03-15 07:35:25JavaScript

使用 window.scrollTo 方法

通过 window.scrollTo(x, y) 实现滚动到页面指定位置。x 为水平位置,y 为垂直位置。

window.scrollTo(0, 500); // 滚动到垂直位置 500px

平滑滚动效果

添加 behavior: 'smooth' 参数实现平滑滚动。

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

滚动到指定元素

通过 Element.scrollIntoView() 方法将元素滚动到可视区域。

document.getElementById('target').scrollIntoView({
  behavior: 'smooth'
});

监听滚动事件

使用 window.addEventListener('scroll', callback) 监听页面滚动。

window.addEventListener('scroll', function() {
  console.log(window.scrollY); // 输出当前垂直滚动位置
});

滚动动画实现

通过 requestAnimationFrame 实现自定义滚动动画。

function scrollToTop(duration) {
  const start = window.scrollY;
  const startTime = performance.now();

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

scrollToTop(1000); // 1秒内滚动到顶部

使用第三方库(如 jQuery)

jQuery 提供 animate 方法简化滚动动画。

js 实现滚屏

$('html, body').animate({ scrollTop: 500 }, 500); // 500ms 滚动到 500px

注意事项

  • 平滑滚动可能不兼容旧版浏览器,需检查 behavior: 'smooth' 支持性。
  • 高频滚动事件可能影响性能,建议使用防抖(debounce)优化。
  • 移动端需考虑触摸交互,避免与原生滚动冲突。

标签: 滚屏js
分享给朋友:

相关文章

jquery.js

jquery.js

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,用于简化 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它的设计宗旨是“Write Less, Do Mor…

js实现拖拽

js实现拖拽

实现拖拽的基本步骤 通过监听鼠标事件(mousedown、mousemove、mouseup)实现拖拽功能。以下是核心代码逻辑: const draggableElement = document.…

js实现全屏

js实现全屏

实现全屏的基本方法 使用JavaScript实现全屏功能主要依赖Element.requestFullscreen()方法。现代浏览器均支持此API,但不同浏览器可能需要添加前缀。 // 触发全屏…

js jquery

js jquery

jQuery 简介 jQuery 是一个快速、简洁的 JavaScript 库,简化了 HTML 文档遍历、事件处理、动画设计和 Ajax 交互。它兼容多种浏览器,提供易于使用的 API,使开发者能够…

js实现防洪

js实现防洪

防抖(Debounce)实现 防抖的核心思想是在事件触发后延迟执行回调函数,若在延迟时间内再次触发事件,则重新计时。适用于输入框搜索、窗口调整等场景。 function debounce(func,…

js实现选题

js实现选题

实现选题功能的JavaScript方法 基础实现方案 使用数组存储选项,通过随机索引选取: const options = ['选项A', '选项B', '选项C', '选项D']; const r…