簡體   English   中英

Jquery .scroll()無法在IE中使用$(window)和$(document)。 (window.pageYOffset問題?)

[英]Jquery .scroll() not working in IE with both $(window) and $(document). (issue with window.pageYOffset?)

我有這個代碼:

$(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;window.pageYOffset;

來自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');
    }
});

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM