浏览器 窗口 scrollTop 的兼容性问题

Posted by bower on December 15, 2011

http://fbmedical.fr/aftepaes/6991 分享给你的朋友->bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

site de rencontre eben eden 今天做图片lazy load 需要得到页面的scrolltop值

click 当然如果有jquery 那么就直接
$(ele).scrollTop();

http://irinakirilenko.com/?deribaska=bin%C3%A4re-optionen.org&096=ae

follow site 好了, 本文结束。。

get link 不过 事实是没有这么舒服, 没有jquery..

http://teentube.cz/?ertye=quiero-conocer-gente-colombiana&2d9=00 好吧, 你不要告诉我去官网下一个。。

http://flywind.com.br/bakester/2232 故事一般都是曲折的, 所以jquery 是不能 也不会有的。。

http://www.ivst-vz.de/?debin=bin%C3%A4re-optionen-60-sekunden-demo-konto binäre optionen 60 sekunden demo konto 言归正传 这个值大家觉得烦 是因为有很多类似的

http://havanatranquility.com/daeso/2539 window.pageYOffset 被所有浏览器支持除了 IE 6, IE 7, IE 8, 不关doctype的事, 注IE9 开始支持此属性。

get link window.scrollY 被Firefox, Google Chrome , Safari支持 不关doctype的事, 注IE9 不支持此属性

在(quirk 模式)的时候 document.body.scrollTop 在 Internet Explorer, Firefox, Opera, Google Chrome Safari 返回正确的值。
在(quirk 模式)的时候 document.documentElement.scrollTop 永远是零

非quirk模式的时候 document.documentElement.scrollTop Internet Explorer, Firefox and Opera 返回正确的值 但是在 Google Chrome ,Safari 中永远是零

特整理一个表格如下

非quirk模式 IE6 7 8 IE9 firefox opera chrome safari
scrollY undefined undefined 正确 正确 正确 正确
pageYOffset undefined 正确 正确 正确 正确 正确
body.scrollTop 0 0 0 0 正确 正确
documentElement.scrollTop 正确 正确 正确 正确 0 0
quirk 模式 IE6 7 8 IE9 firefox opera chrome safari
scrollY undefined undefined 正确 正确 正确 正确
pageYOffset undefined 正确 正确 正确 正确 正确
body.scrollTop 正确 正确 正确 正确 正确 正确
documentElement.scrollTop 0 正确 0 0 0 0

以上在win7环境下测试

可以看出是非常凌乱的

只在quirk模式下, body.scrollTop是被所有都支持的

所以这个表大家也不用 也没有必要去记, 只要记住一条

if(window.pageYOffset){//这一条滤去了大部分, 只留了IE678

}else if(document.documentElement.scrollTop ){//IE678 的非quirk模式

}else if(document.body.scrolltop){//IE678 的quirk模式

}

原则是看pageYOffset 然后看documentElement.scrollTop, 最后是document.body.scrollTop

当然 也可以直接scrollTop 而不使用pageYOffset

以下是MDN 提供的兼容性代码

scrolltop = (((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.scrollTop == ‘number’ ? t : document.body).scrollTop

 

 

http://ligaspanyol.net/?mikroskop=rencontre-gratuite-avec-photo&51b=9c 分享到:人人网开心网腾讯微博新浪微博豆瓣分享腾讯空间百度搜藏腾讯书签

分享给你的朋友->bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark bookmark

Leave a Reply

Your email address will not be published. Required fields are marked *

*
To prove you're a person (not a spam script), type the security word shown in the picture. Click on the picture to hear an audio file of the word.
Click to hear an audio file of the anti-spam word