ScrollTop的兼容问题
Posted kumayato
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ScrollTop的兼容问题相关的知识,希望对你有一定的参考价值。
今天在练习一个项目的时候,发现效果不能同时在谷歌和火狐正常显示,原来是因为通过判断DTD是否声明而导致了浏览器不兼容。
一下是解决的几种方法。
方法一:
// 获取scrolltop function getScrollTop() { var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop; return scrollTop; } // 设置scrolltop function setScrollTop(scroll_top) { document.documentElement.scrollTop = scroll_top; window.pageYOffset = scroll_top; document.body.scrollTop = scroll_top; }
方法二:
var scrollPos; if (typeof window.pageYOffset != ‘undefined‘) { scrollPos = window.pageYOffset; } else if (typeof document.compatMode != ‘undefined‘ && document.compatMode != ‘BackCompat‘) { scrollPos = document.documentElement.scrollTop; } else if (typeof document.body != ‘undefined‘) { scrollPos = document.body.scrollTop; }
方法三 运用jQuery解决:
$(selector).scrollTop(offset)
以上是关于ScrollTop的兼容问题的主要内容,如果未能解决你的问题,请参考以下文章
jQuery-jquery scrollTop怎么解决所有浏览器兼容问题
关于document.body.scrollTop 的谷歌,火狐浏览器兼容问题
document.body.scrollTop与document.documentElement.scrollTop兼容