ScrollTop的兼容问题

时间:2022-06-11 00:09:46

今天在练习一个项目的时候,发现效果不能同时在谷歌和火狐正常显示,原来是因为通过判断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)