问题
之前看老男孩前端,弄了一个点击滚动到最顶端。按视频来的他那边可以,我这边不行,一直没弄明白。
解决
我之前根本没考虑是浏览器的问题,我以为培训班用的也是Chrome,今天搭项目又需要这个回到顶端,接着重读了一遍代码,发现一个地方
var s = document.body.scrollTop;
看!body,突然灵光一现,可能是浏览器的问题,于是用IE打开,发现好用了;这样可以直接确定就是浏览器的问题。
Google一查,各浏览器下scrollTop的差异:
IE6/7/8:
对于没有doctype声明的页面里可以使用 document.body.scrollTop 来获取 scrollTop高度 ;
对于有doctype声明的页面则可以使用 document.documentElement.scrollTop;Safari:
safari 比较特别,有自己获取scrollTop的函数 : window.pageYOffset ;Firefox:
火狐等等相对标准些的浏览器就省心多了,直接用 document.documentElement.scrollTop ;
直接使用万能写法:
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop;
啊这终于解决了,还是很开心的。