視窗及元素尺寸大小位置獲取方法記錄
瀏覽器視窗滾動條位置:
1,IE8以及更早的瀏覽器:window.pageXOffset,windowYOffset;
2,所有現代瀏覽器:document.documentElement.scrollTop,document.decoumentElement.scrollLeft; ----->正常模式下
document.body.scrollTop,document.body.scrollLeft; ----->怪異模式下
瀏覽器視口尺寸:
1,IE8以及更早的瀏覽器:window.innerWidth,window.innerHeight;
2,現代瀏覽器:document.documentElement.clientWidth,document.documentElement.clientHeight; ----->正常模式下
document.body.clientWidth,document.body.clientHeight; ----->怪異模式下
元素尺寸:
1,el.getBoundingClientRect(); -----> 返回元素的時候width,height,x,y等屬性值(非實時)。
2,el.getClientRects();
3,el.offsetWidth,el.offsetHeight; -----> 獲取元素的寬高(包含邊框,內邊距,不包含滾動條。可用於內聯元素)。
4,el.clientWidth,el.clientHeight; -----> 獲取元素寬高(包含內邊距,不包含邊框和滾動條。用於內聯元素的時候總是返回0)。
5,window.innerWidth,window.innerHeight; -----> IE8前
注:在文件根元素上,clientWidth與innerWidth結果一樣。,
6,el.scrollWidth,el.scrollHeight; -----> 元素寬高,包含溢位部分(不包含邊框和滾動條)
元素位置:
1,el.offsetLeft,el.offsetTop; -----> 獲取元素距離文件左側與頂部的距離(如果上級元素設定了定位的話,獲取的就是祖先元素的距離)
獲取指定座標處最上層的元素:
1,document.elementFromPoint(x,y); //指定座標在視口外面的時候返回null。
設定滾動條位置:
1,window.scrollTo(x,y);
2,window.scrollBy(x,y); -----> 在滾動條原有基礎上遞增
3,el.scrollIntoView(); -----> 將指定元素顯示視口頂部,類似錨點跳轉。
4,el.scrollLeft,el.scrollTop; -----> 設定滾動條位置。
其他:
1,el.clientLeft ----> 元素內邊距外側與邊框外側的距離,通常就是返回邊框的寬度(如果其間有滾動條則會包含滾動條寬度)
el.clientRight ----> 元素內邊距外側與邊框外側的距離,通常就是返回邊框的高度(如果其間有滾動條則會包含滾動條寬度)