scrolltop()在IE9中根本不起作用

时间:2013-07-21 22:27:09

标签: javascript jquery internet-explorer internet-explorer-9 browser

http://jsfiddle.net/QF47A/7/

function onscroll(){
    document.getElementById("fly").style.top=""+ $(document).scrollTop() * 5 +"px";
}

检查出...... 叹息

在IE9中没有工作......尚未在IE10中测试过。 但是,它可以在Chrome,Firefox以及几乎所有的阳光下浏览器中使用,除了该死的IE。

1 个答案:

答案 0 :(得分:3)

转而聆听window的{​​{1}}事件:

scroll

Demo


在最新的Chrome,Firefox,Opera 15和IE8中测试过。似乎在任何浏览器中都能正常工作,主要问题是IE不像其他浏览器那样将$(window).on('scroll', function() { document.getElementById("fly").style.top = $(document).scrollTop() * 5 +"px"; }); 的{​​{1}}属性解析为body属性。 Live Test Case。测试用例来源:

onscroll

window.onscroll

因此,直接将事件处理程序分配给window.onscroll也可以解决问题,但是当您使用jQuery时,.on() method是事件绑定的首选。它修补了跨浏览器的不一致性,您不必担心覆盖预先存在的处理程序。