📜  滚动位置 - Javascript (1)

📅  最后修改于: 2023-12-03 15:27:03.502000             🧑  作者: Mango

滚动位置 - Javascript

在网页开发中,滚动位置指的是文档(页面)滚动条的位置。我们可以通过 JavaScript 来获取、设置当前页面的滚动位置,以及监听滚动事件等。

获取滚动位置

我们可以使用 scrollXscrollY 属性来获取当前页面的水平和垂直滚动位置,示例代码如下:

const scrollXPos = window.scrollX;
const scrollYPos = window.scrollY;
console.log(`current scroll pos: (${scrollXPos}, ${scrollYPos})`);
设置滚动位置

我们可以使用 window.scrollTo() 方法来设置页面的滚动位置。该方法接受两个参数,分别是目标水平和垂直滚动位置,示例代码如下:

// 将页面滚动至 0, 500 的位置
window.scrollTo(0, 500);
监听滚动事件

我们可以使用 window.onscroll 属性来监听页面的滚动事件。该属性对应的值是一个函数,在页面滚动时会被调用,示例代码如下:

window.onscroll = function(event) {
  // 获取当前滚动位置
  const scrollYPos = window.scrollY;
  console.log(`current scroll pos: ${scrollYPos}`);
};

除了通过 window.onscroll 监听全局滚动事件,我们也可以通过 element.onscroll 监听指定元素内部的滚动事件。

滚动位置检测

在一些网页应用中,我们可能需要实时获取用户当前的滚动位置,以便执行相应的逻辑,例如懒加载、瀑布流等。我们可以通过定时器定时检测页面的滚动位置,示例代码如下:

const CHECK_INTERVAL = 500; // 检测间隔,单位 ms
let lastScrollYPos = window.scrollY;

setInterval(function() {
  const currentScrollYPos = window.scrollY;
  if (currentScrollYPos !== lastScrollYPos) {
    console.log(`scroll pos changed: ${lastScrollYPos} -> ${currentScrollYPos}`);
    // 执行相应的逻辑
    // ...
    lastScrollYPos = currentScrollYPos;
  }
}, CHECK_INTERVAL);

以上就是关于 JavaScript 滚动位置的介绍,希望对大家有所帮助。