兼容性的scroll方法

本文介绍了一种封装scroll方法以提高浏览器兼容性的技术方案。通过将window.pageXOffset、document.body.scrollTop和document.documentElement.scrollTop等属性封装成JSON,实现了一个统一的scroll方法,便于后续调用。该方法针对不同浏览器的兼容性差异进行了解决。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

为了封装一个兼容性好的scroll方法,代码如下:(事先对body进行了处理,使它的宽和高都很高大)

//由于scroll等属性的兼容性性过太差,所以打算将他们封装成一个json,以后也方便调用
window.onscroll = function (){
	console.log(scroll().left);
	console.log(scroll().top);
}
function scroll() {
	return {
		"top":window.pageYOffset || document.body.scrollTop || document.documentElement.scrollTop,
		"left":window.pageXOffset || document.body.scrollLeft || document.documentElement.scrollLeft
	}
}
//分解就是下面这些代码
//function scroll() {
//	if(window.pageYOffset !== undefined){
//		return {
//			"left": window.pageXOffset,
//			"top":window.pageYOffset
//		}
//	}else if(document.compatMode === "CSS1Compat"){
//		return {
//			"left":document.documentElement.scrollLeft,
//			"right":document.documentElement.scrollTop
//		}
//	}else{
//		return {
//			"left": document.body.scrollLeft,
//			"Top":document.body.scrollTop
//		}
//	}
//}
</script>

效果如下:
返回scroll值

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值