code: function ( relative ) {
              var el = this.element(),
                  result = {},
                  rect = el.getBoundingClientRect();
      
              if ( relative ) {
                  result.left = rect.left;
                  result.top = rect.top;
      
                  var docEl = document.documentElement;
                  var vWidth = docEl.clientWidth,
                      vHeight = docEl.clientHeight,
                      elWidth = ( rect.left < 0 )? rect.right : rect.right - rect.left,
                      elHeight = ( rect.top < 0 )? rect.bottom : rect.bottom - rect.top;
      
                  result.width = ( rect.right > vWidth )? elWidth - (rect.right - vWidth) : elWidth;
                  result.height = ( rect.bottom > vHeight )? elHeight - (rect.bottom - vHeight) : elHeight;
              } else {
                  result.left = rect.left + $B(window).scrollLeft();
                  result.top = rect.top + $B(window).scrollTop();
                  result.width = rect.right - rect.left;
                  result.height = rect.bottom - rect.top;
              }
              return result;
          }
docs: ========================== < Measure > ========================== // 
  <b>읽기전용</b><br>
  타겟타입:(Element, ID)<br>
  대상의 Rectangle 반환, padding과 border포함된 수치<br>
  @param	{Boolean}	relative	기본값false, false면 document 기준, true면 vieport 기준으로 계산
  @return	{Object}	left, top, width, height