Jquery .scroll()无法在IE中使用$(window)和$(document).(window.pageYOffset问题?)

Mel*_*Dog 2 javascript jquery internet-explorer cross-browser

我有这个代码:

$(window).scroll(function() {
    var y_scroll_pos = window.pageYOffset;
    var scroll_pos_test = 200;   

    if(y_scroll_pos > scroll_pos_test) {

       $('.extratext').slideDown('slow');

    }
});
Run Code Online (Sandbox Code Playgroud)

这适用于FF,Chrome和IE 10,但不适用于IE 9或更低版本.我已经研究过答案,他们都说它应该合作$(window)而不是平常$(document),这就是我所拥有的.

有谁知道另一种修改方法?

编辑:

添加console.log(y_scroll_pos);,它提出'undefined'.IE不喜欢window.pageYOffset;吗?

koa*_*dev 7

来自MDN文档:

对于跨浏览器兼容性,请使用window.pageYOffset而不是window.scrollY.此外,旧版本的Internet Explorer(<9)不支持任何属性,必须通过检查其他非标准属性来解决.

你总是可以使用jQuery的实现scrollTop(),它应该适用于所有浏览器:

$(window).scroll(function() {
    var y_scroll_pos = $(this).scrollTop();
    var scroll_pos_test = 200;   

    if(y_scroll_pos > scroll_pos_test) {
       $('.extratext').slideDown('slow');
    }
});
Run Code Online (Sandbox Code Playgroud)