offsetTop clientX pageX screenX scrollTop之間的區別以及代碼實現,offsettopscreenx
邊界尺寸
var a= e.pageX;//滑鼠在頁面中的座標位置,可能大於整個螢幕
var ay= e.pageY;//滑鼠在頁面中的座標位置,可能大於整個螢幕
//console.log(ay);
var b= e.clientX;//滑鼠在螢幕上的x座標
var by= e.clientY;//滑鼠在螢幕上的y座標,所以ay>=by
//console.log(by);
var f= e.screenX;//滑鼠在螢幕上的x座標
var fy= e.screenY;
//console.log(fy);
//位移量
var c=document.getElementById("top").offsetWidth;
var ch=document.getElementById("top").offsetHeight;
//console.log(c);//元素在水平空間上佔用的寬度大小,包括捲軸和邊框
var ct=document.getElementById("top").offsetTop;
var cl=document.getElementById("top").offsetLeft;
//console.log(ct);//元素上邊框至包含元素上邊框的距離
//客戶區大小
var d=document.getElementById("top").clientWidth;
var dh=document.getElementById("top").clientHeight;
//console.log(d);//元素內部空間的大小,就是不包框邊框和滾所以動條,offsetWidth>=clientWidth
//捲軸大小
var e=document.getElementById("top").scrollWidth;
var eh=document.getElementById("top").scrollHeight;
//console.log(e);//沒有捲軸情況下的寬度
var et=document.getElementById("top").scrollTop;
var el=document.getElementById("top").scrollLeft;
//console.log(et);//0
console.log(el);//0
源碼:
<!doctype html><html lang="en"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width,initial-scale=1.0"/> <title>Document</title> <style> body{ background-color: #3399ff; overflow: hidden; } body >div{ position: absolute; top: 0; bottom: 0; left: 0; right: 0; margin: auto auto; width: 300px; height: 300px; background-color: deeppink; border: 20px solid silver; } body >div >div{ width: 100%; margin-top: 100px; height: 100px; background-color: green; } body >div >div >span{ display: block; height: 100%; width: 40%; background-color: darkred; position: relative; } body >div >div >span >a{ position: absolute; display: block; width: 40px; height: 40px; bottom: 0; right: 0; background-color: cornflowerblue; } </style></head><body><div id="top"> <div> <span> <a href=""></a> </span> </div></div></body><script> window.onload=function(){ document.addEventListener('mousemove',function(e){ var a= e.pageX;//滑鼠在頁面中的座標位置,可能大於整個螢幕 var ay= e.pageY;//滑鼠在頁面中的座標位置,可能大於整個螢幕 //console.log(ay); var b= e.clientX;//滑鼠在螢幕上的x座標 var by= e.clientY;//滑鼠在螢幕上的y座標,所以ay>=by //console.log(by); var f= e.screenX;//滑鼠在螢幕上的x座標 var fy= e.screenY; //console.log(fy); //位移量 var c=document.getElementById("top").offsetWidth; var ch=document.getElementById("top").offsetHeight; //console.log(c);//元素在水平空間上佔用的寬度大小,包括捲軸和邊框 var ct=document.getElementById("top").offsetTop; var cl=document.getElementById("top").offsetLeft; //console.log(ct);//元素上邊框至包含元素上邊框的距離 //客戶區大小 var d=document.getElementById("top").clientWidth; var dh=document.getElementById("top").clientHeight; //console.log(d);//元素內部空間的大小,就是不包框邊框和滾所以動條,offsetWidth>=clientWidth //捲軸大小 var e=document.getElementById("top").scrollWidth; var eh=document.getElementById("top").scrollHeight; //console.log(e);//沒有捲軸情況下的寬度 var et=document.getElementById("top").scrollTop; var el=document.getElementById("top").scrollLeft; //console.log(et);//0 console.log(el);//0 },false) };</script></html>
著作權聲明:本文為博主原創文章,未經博主允許不得轉載。