我有这段代码:
$(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 :(得分: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');
}
});