最近想用原生js实现一些交互效果,以下代码是返回顶部按钮要用到的一个方法:获取和设置页面垂直滚动高度,如果用jq可以简单实现,用原生js,其实就是要多考虑浏览器的兼容性:
/**
* 获取&&设置-页面垂直滚动值
* */
function __getPageScrollY(top) {
if (top || Number(top) == 0) { //设置垂直滚动值
if (self.pageYOffset) {
self.pageYOffset = Number(top);
}
if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
document.documentElement.scrollTop = Number(top);
}
if (document.body) {// all other Explorers
document.body.scrollTop = Number(top);
}
return true;
} else { //获取垂直滚动值
var yScroll;
if (self.pageYOffset) {
yScroll = self.pageYOffset;
} else if (document.documentElement && document.documentElement.scrollTop) { // Explorer 6 Strict
yScroll = document.documentElement.scrollTop;
} else if (document.body) {// all other Explorers
yScroll = document.body.scrollTop;
}
return yScroll;
}
};
调用:
var scrollHeight = __getPageScrollY();//获取高度
__getPageScrollY(1000);//设置高度