javascript – $(window).scroll()在页面加载时触发

前端之家收集整理的这篇文章主要介绍了javascript – $(window).scroll()在页面加载时触发前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法阻止$(window).scroll()在页面加载时触发?

在Firefox 4中测试以下代码,即使拔下鼠标,它也会触发.

jQuery(document).ready(function($){    
$(window).scroll(function(){
                console.log("Scroll Fired");
    });
});

解决方法

滚动事件与鼠标无关,只要设置了新的文档滚动位置,就会调用它.并且可以说,当文档加载时设置位置(你可以用一个锚加载它),如果用户按下键盘上的光标键也是如此.我不知道为什么你需要忽略初始滚动事件,但我猜你只想在pageYOffset为零时才这样做.这很简单:
var oldPageYOffset = 0;
$(window).scroll(function(){
  if (window.pageYOffset != oldPageYOffset)
  {
    oldPageYOffset = window.pageYOffset;
    console.log("Window scrolling changed");
  }
});

注意:MSIE没有window.pageYOffset属性,因此需要调整上面的内容.也许jQuery提供了跨浏览器的替代方案.

猜你在找的JavaScript相关文章