scroll、offset和client的区别

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>Document</title>
	<style type="text/css">
		* {
			margin: 0;
			padding: 0;
		}
		body {
			
			height: 2000px;
			
			background-color: gray;
			margin: 100px;
			padding: 100px;
			border: 1px solid #89765f;
		}
		#div1 {
			margin: 100px 100px;
			border: 1px solid #f09838;
			padding: 20px;
			background-color: green;
			width: 300px;
			height: 300px;
			
		}
		#div2 {
			margin: 10px;
			padding: 20px;
			height: 100px;
			border: 1px solid #d09c45;
			background-color: red;
		}
	</style>
</head>
<body>
	<div id="div1">
		<div id="div2"></div>
	</div>
	
</body>
</html>
上面是测试代码

1.clientX与clientY

window.οnlοad=function(){
 document.οnclick=function(ev){
 var oEvent=ev||event;
 alert(oEvent.clientX+","+oEvent.clientY);
    }
}

oEvent.clientX是指鼠标到可视区左边框的距离。

oEvent.clientY是指鼠标到可视区上边框的距离。

2.offsetWidth、offsetHeight、offsetLeft和offsetTop

window.οnlοad=function(){
 var oDiv=document.getElementById("div1");
 alert(oDiv.offsetWidth); //342
 alert(oDiv.offsetHeight); //342
 alert(oDiv.offsetLeft); //401
 alert(oDiv.offsetTop); //301

 var oDiv1=document.getElementById("div2");
 alert(oDiv1.offsetWidth); //280
 alert(oDiv1.offsetHeight); //142
 alert(oDiv1.offsetLeft); //30
 alert(oDiv1.offsetTop); //30
}

offsetWidth是指div的宽度(包括div的边框)

offsetHeight是指div的高度(包括div的边框)

offsetLeft是指div到整个页面左边框的距离(不包括div的边框)

offsetTop是指div到整个页面上边框的距离(不包括div的边框)

(这里还有一个偏移参照——定位父级offsetParent,div1中的position是relative,所以参考我的另一篇博客)


 

3.scrollTop、scrollLeft、scrollWidth和scrollHeight

scrollTop是指可视区顶部边框与整个页面上部边框的看不到的区域。

scrollLeft是指可视区左边边框与整个页面左边边框的看不到的区域。

scrollWidth是指左边看不到的区域加可视区加右边看不到的区域即整个页面的宽度(包括边框)

scrollHeight是指上边看不到的区域加可视区加右边看不到的区域即整个页面的高度(包括边框)

window.οnlοad=function(){
var oDiv=document.getElementById("div1");
alert(oDiv.scrollWidth); //340
alert(oDiv.scrollHeight); //340
alert(oDiv.scrollLeft); //0
alert(oDiv.scrollTop); //0
var oDiv1=document.getElementById("div2");
alert(oDiv1.scrollWidth); //278
alert(oDiv1.scrollHeight); //140
alert(oDiv1.scrollLeft); //0
alert(oDiv1.scrollTop); //0
}

 

4.clientWidth、clientHeight、clientLeft和clientTop

clientWidth是指可视区的宽度。

clientHeight是指可视区的高度。

clientLeft获取左边框的宽度。

clientTop获取上边框的宽度。

window.οnlοad=function(){
var oDiv=document.getElementById("div1");
alert(oDiv.clientWidth); //340
alert(oDiv.clientHeight); //340
alert(oDiv.clientLeft); //1
alert(oDiv.clientTop); //1
var oDiv1=document.getElementById("div2");
alert(oDiv1.clientWidth); //278
alert(oDiv1.clientHeight); //140
alert(oDiv1.clientLeft); //1
alert(oDiv1.clientTop); //1
}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值