2013-08-27 76 views
2

我有這樣的代碼:

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

    if(y_scroll_pos > scroll_pos_test) { 

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

    } 
}); 

,在FF,Chrome和IE 10工作正常,但不是IE 9以下。我已經研究了答案,他們都說它應該與$(window)一起使用,而不是通常的$(document),這正是我所得到的。

有沒有人知道另一種修改方法?

編輯:

新增console.log(y_scroll_pos);,並將其與 '未定義' 上來。 IE不喜歡window.pageYOffset;

+0

當你有HTML和高度的身體:100%,有時'$('HTML,身體) '工作....值得一試! –

回答

6

從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'); 
    } 
}); 
相關問題