1.dom.getboundingclientrect().left/top/right/bottom/height/width;
返回元素相對於瀏覽器視窗的相對位置及自身的寬高。
ie中只能獲取到元素的left,top,bottom,right的屬性,而後面的現代瀏覽器還能獲取到元素的width和height.
chrome
firefox (gecko)
internet explorer
opera
safari
1.03.0 (1.9)
4.0(yes)
4.0這裡要注意的是,bottom是元素底部相對於視窗頂部的距離,而不是像css裡面position的bottom相對於視窗底部,同理,rihgt屬性是元素最右邊相對於視窗左邊的距離。
2.dom.scrolltop/scrollleft;
包含滾動條的元素目前滾動到的位置距離元素頂端的距離。
3.dom.scrollwidth/scrollheight;
元素width+padding的寬度/元素height+padding的高度。這裡的width/height指顯示出來是寬和可滾動部分的寬。
4.dom.clientwidth/clientheight;
元素可視區域的width+padding/元素可視區域的height+padding;不包含可滾動的部分。
5.dom.offsetwidth/offsetheight;
6.dom.offsetparent;
. offsetparent定義:offsetparent就是距離該子元素最近的進行過定位的父元素(position:absolute relative fixed),如果其父元素中不存在定位則offsetparent為:body元 素
. 根據定義分別存在以下幾種情況
元素自身有fixed定位,父元素不存在定位,則offsetparent的結果為null(firefox中為:body,其他瀏覽器返回為null)
元素自身無fixed定位,且父元素也不存在定位,offsetparent為元素
元素自身無fixed定位,且父元素存在定位,offsetparent為離自身最近且經過定位的父元素
元素的offsetparent是null
瀏覽器相容性
在以webkit為核心的瀏覽器上,如果元素是隱藏的(該元素或者上級元素style.display='none')或者元素自身style.position='fixed',那麼就會返回null。
在ie(9)上如元素style.position='fixed',該屬性就會返回null。(然而display:none不影響這個瀏覽器)
當元素本身經過絕對定位或相對定位,且父級元素無經過定位的元素時,ie7-瀏覽器下,offsetparent是
//獲取元素的縱座標
1 function gettop(e)
//獲取元素的橫座標
1 function getleft(e)
7.screenx/screeny;
滑鼠相對於螢幕左上角的水平和垂直距離;
8.clientx/clienty;
滑鼠相對於瀏覽器視窗左上角的水平和垂直距離;
9.pagex/pagey;
滑鼠距離頁面原點/頂端左上角的水平和垂直距離;相容性:ie不支援(在ie中使用event.x,event.y來代替),其他高階遊覽器支援。
10.offsetx/offsety;
滑鼠距離該元素(滑鼠所在元素)左上角的水平和垂直距離。
不定寬度元素排版及子元素固定寬高比問題
什麼情況需要做自適應呢?最常見的情況就是父元素的寬度不固定造成子元素排版改變。我們根據不同的情況,做不同的適應。父級元素寬度改變時,子元素大小也隨著改變,子元素的寬高參照同一標準計算的單位,例如vw以可視頁面寬度計算,rem以html的font size計算等,效果如下 父級元素寬度改變,子元素的大...
JS中獲取元素的尺寸及位置
js中獲取元素的尺寸及位置 1.clientwidth a 作用 獲取元素視覺化寬度 b 注意 clientwidth width padding 2.clientheight a 作用 獲取元素視覺化高度 3.offsetwidth a 作用 獲取元素寬度 b 注意 offsetwidth wid...
jQuery獲取頁面及個元素高度 寬度
獲取瀏覽器顯示區域 可視區域 的高度 w indo w h eigh t 獲取瀏覽 器顯示區 域 可視 區域 的 寬度 wi ndow he ight 獲 取瀏覽器 顯示區域 可視區 域 的寬 度 window width 獲取頁面的文件高度 d ocum ent hei ght 獲取 頁面的文 檔...