$(document).scrollTop()和$(window).scrollTop()IE下值为0
Jquery$(document).scrollTop()和$(window).scrollTop()在IE在取不到值大家知道是咋回事啊,不管定义不定义DTD
但是在前面随便alert个东西就可以获取到值,谁能解释一下啊,在火狐下没这个问题
alert($(document).scrollTop());//直接这样,始终为0
alert($(window).scrollTop());//直接这样,始终为0
alert();
alert($(window).scrollTop());//这样,可以取得争取的值
有没有人知道为什么啊?郁闷死了 本帖最后由 baiyuxiong 于 2010-1-29 16:24 编辑
var bodyTop = $(document).scrollTop();
经测试,如果是写成$(window).scrollTop()的话则在IE系列下是没有值的,万恶的jQuery API竟然没有scrollTop().
bodyTop = document.documentElement.scrollTop + document.body.scrollTop;
就可以了。
因为始终有一个为 0 ; 呵呵。
http://niunan.javaeye.com/blog/258164 额,你小子到网上拷贝的啊,呵呵,经研究不是上述导致的问题
竟然是因为万恶的IE在刷新的手先把scrolltop搞成0然后再恢复到之前的状态,而document的ready的时候还没有恢复到之前状态,导致获取的值不正确,解决方法就是延时执行函数,哈哈
PS:$(window).scrollTop()在IE下是有值的,JQuery API 里也是有scrolltop函数的啊,还是看看官方的api比较实在。
页:
[1]