JavaScriptアドバンストプログラム設計の要素サイズ

3410 ワード

1、オフセット量
//            

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

    };

};