1. 程式人生 > >視窗及元素尺寸大小位置獲取方法記錄

視窗及元素尺寸大小位置獲取方法記錄

瀏覽器視窗滾動條位置:

  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  ----> 元素內邊距外側與邊框外側的距離,通常就是返回邊框的高度(如果其間有滾動條則會包含滾動條寬度)