我有这个代码:
$(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;
吗?
最佳答案
来自 MDN 文档:
For cross-browser compatibility, use window.pageYOffset instead of window.scrollY. Additionally, older versions of Internet Explorer (< 9) do not support either property and must be worked around by checking other non-standard properties.
您始终可以使用 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');
}
});
关于javascript - Jquery .scroll() 在 IE 中不适用于 $(window) 和 $(document)。 (window.pageYOffset 的问题?),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18457043/