JavaScriptアドバンストプログラム設計の要素サイズ
3410 ワード
1、オフセット量
3、スクロールサイズ
//
var getOffSet = function (ele) {
var actualLeft = ele.offsetLeft, // offsetParent
actualTop = ele.offsetTop,
current = ele.offsetParent; // offsetParent
// ,
while (current !== null) {
actualLeft += current.offsetLeft;
actualTop += current.offsetTop;
current = current.offsetParent;
}
return {
left: actualLeft,
top: actualTop
};
};
2、元素自体のサイズ(border+padding+content)// ,
ele.clientWidth
// ,
ele.clientHeight
3、スクロールサイズ
// scrollWidth: , 。
// scrollHeight: , 。
// scrollLeft: 。 。
// scrollTop: 。 。
// , :
var getDocSize = function () {
var width, height;
if (document.compatMode === "CSS1Compat") {
width = Math.max(document.documentElement.scrollWidth, document.documentElement.clientWidth);
height = Math.max(document.documentElement.scrollHeight, document.documentElement.clientHeight);
} else {
width = Math.max(document.body.scrollWidth, document.body.clientWidth);
height = Math.max(document.body.scrollHeight, document.body.clientHeight);
}
return {
width: width,
height: height
};
};