解决scrollTop兼容问题 document.documentElement.scrollTop || document.body.scrollTop

在设计页面时可能经常会用到固定层的位置,这就需要获取一些html对象的坐标以更灵活的设置目标层的坐标,这里可能就会用到document.body.scrollTop等属性,但是此属性在xhtml标准网页或者更简单的说是带<!DOCTYPE ..>标签的页面里得到的结果是0,如果不要此标签则一切正常,那么在xhtml页面怎么获得body的坐标呢,当然有办法-使用document.documentElement来取代document.body,可以这样写

例:var top = document.documentElement.scrollTop || document.body.scrollTop

chrome居然不认识document.documentElement.scrollTop!!!

<style type="text/css">
			*{
				padding: 0;margin: 0;
			}
			body{
				height: 3500px;
			}
			#box{
				width: 100px;
				height: 100px;
				background: pink;
				position: absolute;
				right: 0;
				bottom: 0;
			}
		</style>
	</head>
	<body>
		<div id="box"></div>
	</body>
<script type="text/javascript">
			window.onscroll = function(){
				var oBox = document.getElementById('box');
				
				//documentElement 属性可返回文档的根节点。
				var scroll = document.documentElement.scrollTop || document.body.scrollTop;
				oBox.style.top = document.documentElement.clientHeight - oBox.offsetHeight + scroll + 'px';
				document.title = oBox.offsetTop;
			}
		</script>


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值