[英]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.