動畫以及封裝
offset、client、scroll系列
(1)、offset系列
offsetLeft:獲取元素距離最左邊的距離:
(1)、如果父元素沒有定位,距離瀏覽器最左側的距離
(2)、如果父元素有定位,距離父元素最左側的距離
offsetTop:獲取元素距離最上邊的距離:
(1)、如果父元素沒有定位,距離瀏覽器最上側的距離
(2)、如果父元素有定位,距離父元素最上側的距離
offsetWidth:獲取元素的寬度,包括border及以內,不包括margin
offsetHeight:獲取元素的高度,包括border及以內,不包括margin
offsetParent:獲取元素的定位父級元素:
如果元素fixed定位,得到null;
元素沒有fixed情況下如果元素所有的父級元素都沒定位,得到body;
元素沒有fixed情況下,父級元素有定位,得到離他最近的有定位的父級元素
(2)、scroll系列
scrollTop和scrollLeft:獲得的是內容捲曲出去的高度和寬度,當滾動條向下拉時,內容往上走,獲得的就是上面跑出盒子範圍的那部分高度。滾動條向右拉同理
scrollWidth和scrollHeight:獲得元素的實際寬度和高度,在內容沒有超出盒子時,獲得的是盒子的內部高度和寬度。
內容超出盒子時獲得的是內容實際應有的高度和寬度。當盒子內部存在滾動條時,獲得的高度和寬度不包括滾動條。
根據瀏覽器相容性,scroll系列需要寫出相容程式碼:例如scrollTop:
var scrollTop = document.documentElement.scrollTop || window.pageYOffset || document.body.scrollTop
(3)、client系列
clientTop和clientLeft:獲得上邊框和左邊框的寬度。
clientWidth和clientHeight:獲取可視範圍的寬度高度,即邊框內部的,不包括border,包括padding.當盒子內部存在滾動條時,獲得的高度和寬度不包括滾動條。