如何获取页面滚动位置(y轴)

时间:2014-01-29 15:10:16

标签: javascript

如何获取浏览器的当前滚动位置?我想根据页面位置触发事件。这是我尝试过的:

var scroll_position=document.viewport.getScrollOffsets();

window.onscroll = function (event) {

if(scroll_position>1000)
{
alert('xxxxxxxxxxx');
}

3 个答案:

答案 0 :(得分:2)

尝试:

window.onscroll = function (event) {
  if (window.scrollY > 1000) {
    alert('xxxxxxxxxxx');
  }
}

答案 1 :(得分:2)

假设您总是要使用window进行测试,可以使用window.scrollY

window.onscroll = function (event) 
{
    if(this.scrollY > 1000)
    {
        alert('xxxxxxxxxxx');
    }
}

jsFiddle Demo

答案 2 :(得分:1)

正如hsz所说,做

window.onscroll = function (event) {
var scroll_position = document.viewport.getScrollOffsets();
if (scroll_position > 1000)
{
    alert('xxxxxxxxxxx');
}
}

您的代码存在问题:

var scroll_position=document.viewport.getScrollOffsets();

scroll_position仅在页面加载时设置一次 - 因此它保持不变(可能为0)并且警报永远不会出现,因为scroll_position小于1000。

hsz将设置scroll_position的语句放入window.onscroll函数中,因此每次页面滚动时都会更新。