¿¤·¹¸àÆ®ÀÇ ÇÑÁÙ ÅؽºÆ®³ª TextRange °³Ã¼¿¡ Æ÷ÇÔµÈ »ç°¢ÇüÀ» ÂüÁ¶ÇÑ´Ù.

Script [propVal=]..propName;
HTML ¾ø´Ù.
Ư±â

¿¤·¹¸àÆ®³ª TextRange °³Ã¼¿¡ getClientRects ¸Þ¼­µå¸¦ Àû¿ëÇÏ¿© TextRectangle °³Ã¼µéÀÇ TextRectangles Ä÷º¼ÇÀ» ¹Ýȯ¹Þ´Â´Ù. getClientRects ¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ®¿¡ »ó´ëÀûÀÎ °¢°¢ ¿ÞÂÊ, À§ÂÊ, ¿À¸¥ÂÊ, ¾Æ·¡ÂÊ ÁÂÇ¥¸¦ °®´Â »ç°¢ÇüµéÀÇ Ä÷º¼ÇÀ» ¹ÝȯÇÑ´Ù.

ÂüÁ¶

ÀÌ °³Ã¼´Â (¿µ¹®)HTML3.2¿¡¼­ Á¤ÀǵǾú´Ù.

IE5 ºÎÅÍ´Â ½ºÅ©¸³Æ®¸¦ »ç¿ëÇÒ ¼ö ÀÖ´Ù.


¼³¸íÀ» À§ÇÑ ¿¹Á¦

¿¤·¹¸àÆ®³ª TextRange °³Ã¼¿¡ getClientRects ¸Þ¼­µå¸¦ Àû¿ëÇÏ¿©
TextRectangle °³Ã¼µéÀÇ TextRectangles Ä÷º¼ÇÀ» ¹Ýȯ¹Þ´Â´Ù.
getClientRects ¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ®¿¡ »ó´ëÀûÀÎ
°¢°¢ ¿ÞÂÊ, À§ÂÊ, ¿À¸¥ÂÊ, ¾Æ·¡ÂÊ ÁÂÇ¥¸¦ °®´Â
»ç°¢ÇüµéÀÇ Ä÷º¼ÇÀ»
¹ÝȯÇÑ´Ù.


<P>¿¤·¹¸àÆ®³ª TextRange °³Ã¼¿¡ getClientRects ¸Þ¼­µå¸¦ Àû¿ëÇÏ¿©<BR>
TextRectangle °³Ã¼µéÀÇ <B id=bObj style="border:dotted 1 blue;background-color:fee">TextRectangles Ä÷º¼ÇÀ» ¹Ýȯ¹Þ´Â´Ù.<BR>
getClientRects ¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ®¿¡ »ó´ëÀûÀÎ<BR>
°¢°¢ ¿ÞÂÊ, À§ÂÊ, ¿À¸¥ÂÊ, ¾Æ·¡ÂÊ ÁÂÇ¥¸¦ °®´Â<BR>
»ç°¢ÇüµéÀÇ Ä÷º¼ÇÀ»</B> ¹ÝȯÇÑ´Ù.</P>

ÀÌ getClientRects ¸Þ¼­µå·Î ¼Ó¼º º¸´Â ¿¹Á¦´Â b ¿¤·¹¸àÆ®¿¡ ³×°³ÀÇ TextRectangleÀ» °®´Â TextRectangles Ä÷º¼ÇÀ» ¹ÝȯÇÏ¸ç ³×°³ÀÇ TextRectangle °³Ã¼µéÀº ´ÙÀ½°ú °°´Ù.

  1. "TextRectangles Ä÷º¼ÇÀ» ¹Ýȯ¹Þ´Â´Ù."
  2. "getClientRects ¸Þ¼­µå´Â Ŭ¶óÀ̾ðÆ®¿¡ »ó´ëÀûÀÎ"
  3. "°¢°¢ ¿ÞÂÊ, À§ÂÊ, ¿À¸¥ÂÊ, ¾Æ·¡ÂÊ ÁÂÇ¥¸¦ °®´Â"
  4. "»ç°¢ÇüµéÀÇ Ä÷º¼ÇÀ»"

°á°ú Ç¥½Ãâ

ÀÌ ÅؽºÆ®°¡ Æ÷ÇԵǾî ÀÖ´Â À©µµ¿ìÀÇ Å©±â°¡ Á¶ÀýµÇ¸é TextRectangle °³Ã¼µéÀº ¾÷µ¥ÀÌÆ®µÇÁö ¾Ê´Â´Ù. ÀÌ °³Ã¼µéÀº ÇÑ ½ËÁ¡¿¡ Æ÷ÂøÇÑ °ÍÀ¸·Î ¾÷µ¥ÀÌÆ®ÇÏ·Á¸é onresize À̺¥Æ®°¡ ¹ß»ýµÇ¸é ¾÷µ¥ÀÌÆ®ÇØ¾ß ÇÑ´Ù.

TextRectangleÀÇ ³Êºñ´Â ±× °³Ã¼¸¦ Æ÷ÇÔÇÏ°í ÀÖ´Â ¿ë±âÀÇ ³Êºñ¿Í ÀÏÄ¡ÇÏÁö ¾Ê´Â´Ù. TextRange´Â ÅؽºÆ® ³Êºñ¿Í °°Àº ¹Ý¸é TextRectangleÀÇ ³Êºñ´Â ÄʽºÆ®¸¦ Æ÷ÇÔÇÏ´Â ¿¤·¹¸àÆ®ÀÇ ³Êºñ¿Í °°´Ù.

<SCRIPT>
var oObj='';
function showRects(obj){
  cRects=obj.getClientRects();
  oObj=cRects[0];
  colLn=cRects.length;
  str='';
  for (i=0;i< colLn;i++){	
    str+=(i+1)+'¹ø TextRectangle<UL>';
    str+='<LI>cRects('+i+').top='+cRects(i).top+' pixel.';
    str+='<LI>cRects('+i+').bottom='+cRects(i).bottom+' pixel.';
    str+='<LI>³ôÀÌ (cRects('+i+').bottom-cRects('+i+').top)='+(cRects(i).bottom-cRects(i).top)+' pixel.';
    str+='<LI>cRects('+i+').right='+cRects(i).right+' pixel.';
    str+='<LI>cRects('+i+').left='+cRects(i).left+' pixel.';
    str+='<LI>³Êºñ (cRects('+i+').right-cRects('+i+').left)='+(cRects(i).right-cRects(i).left)+' pixel.</UL>';
  }
  showA.innerHTML=str;
  showbottom.innerText=oObj.bottom;
  showleft.innerText=oObj.left;
  showright.innerText=oObj.right;
  showtop.innerText=oObj.top;
}
</SCRIPT>
<BUTTON onclick=showRects(bObj)>TextRectangles º¸±â Ŭ¸¯</BUTTON>
<DIV id=showA style=width:500>°á°ú Ç¥½Ãâ</DIV>

bottom ¼Ó¼º IE
¢¡ °³Ã¼ÀÇ ³»¿ë ÁÖÀÇÀÇ »ç°¢Çü ¹Ù´Ú ÁÂÇ¥¸¦ Çȼ¿´ÜÀ§·Î ¹ÝȯÇϰųª ¼³Á¤ÇÑ´Ù.
¹®¹ý: .bottom[=iVal]
ÄÚµå: document.write(oObj.bottom); °á°ú: À§ ¿¹Á¦¸¦ Ŭ¸¯ÇÏ¿© TextRectangleÀ» »ý¼ºÇÏ°í °á°ú¸¦ º¸¶ó.
left ¼Ó¼º IE
¢¡ °³Ã¼ÀÇ ³»¿ë ÁÖÀÇÀÇ »ç°¢Çü ¿ÞÂÊ ÁÂÇ¥¸¦ Çȼ¿´ÜÀ§·Î ¹ÝȯÇϰųª ¼³Á¤ÇÑ´Ù.
¹®¹ý: .left[=iVal]
ÄÚµå: document.write(oObj.left); °á°ú: À§ ¿¹Á¦¸¦ Ŭ¸¯ÇÏ¿© TextRectangleÀ» »ý¼ºÇÏ°í °á°ú¸¦ º¸¶ó.
right ¼Ó¼º IE
¢¡ °³Ã¼ÀÇ ³»¿ë ÁÖÀÇÀÇ »ç°¢Çü ¿À¸¥ÂÊ ÁÂÇ¥¸¦ Çȼ¿´ÜÀ§·Î ¹ÝȯÇϰųª ¼³Á¤ÇÑ´Ù.
¹®¹ý: .right[=iVal]
ÄÚµå: document.write(oObj.right); °á°ú: À§ ¿¹Á¦¸¦ Ŭ¸¯ÇÏ¿© TextRectangleÀ» »ý¼ºÇÏ°í °á°ú¸¦ º¸¶ó.
top ¼Ó¼º IE
¢¡ °³Ã¼ÀÇ ³»¿ë ÁÖÀÇÀÇ »ç°¢Çü À§ÂÊ ÁÂÇ¥¸¦ Çȼ¿´ÜÀ§·Î ¹ÝȯÇϰųª ¼³Á¤ÇÑ´Ù.
¹®¹ý: .top[=iVal]
ÄÚµå: document.write(oObj.top); °á°ú: À§ ¿¹Á¦¸¦ Ŭ¸¯ÇÏ¿© TextRectangleÀ» »ý¼ºÇÏ°í °á°ú¸¦ º¸¶ó.

°³Ã¼ ¿¹Á¦

¿©±â°¡ Å« TextRectangle »ç°¢ÇüÀÌ´Ù.
ÀÌ ºí·°¿¡¼­ ¸¶¿ì½º¸¦ Ŭ¸¯ÇÒ ¶§¸¶´Ù °¢ ÁÙÀÌ °­Á¶µÈ´Ù.
ÀüºÎ °­Á¶µÈ ÈÄ¿¡´Â óÀ½ºÎÅÍ ¹Ýº¹µÈ´Ù.
°á°ú Ç¥½Ãâ

getClientRects°ú getBoundingClientRect ¸Þ¼­µå·Î °³Ã¼¸¦ ¸¸µé°í °¢ ÁÙ¿¡ °­Á¶ »ö»óÀ» Ç¥½ÃÇÏ¿´´Ù.
ºÓÀº Å׵θ® ¼ÓÀ» ¹Ýº¹Çؼ­ Ŭ¸¯ÇØ º¸¶ó. (°¥»öÀº °è»êµÈ ¼öÄ¡ÀÓ)

<SCRIPT>
var txrgColl;
var idx=0;
function Highlight(obj){
  bodyObj=document.body;
  txrgColl=obj.getClientRects();
  if (idx==txrgColl.length) idx=0;
  str='line #'+idx+'<BR>';
  cdObj=txrgColl[idx];
  bnObj=obj.getBoundingClientRect();

  div1Obj.style.top=bodyObj.scrollTop+cdObj.top-cdObj.bottom+cdObj.top;
  div1Obj.style.left=bnObj.left;
  div1Obj.style.right=cdObj.right;
  div1Obj.style.width=cdObj.right-cdObj.left;
  div1Obj.style.height=cdObj.bottom-cdObj.top;

  div2Obj.style.top=bodyObj.scrollTop+bnObj.top;
  div2Obj.style.left=bnObj.left;
  div2Obj.style.right=bnObj.right;
  div2Obj.style.width=bnObj.right-bnObj.left;
  div2Obj.style.height=bnObj.bottom-bnObj.top;

  str+='div1Obj,style.top='+cdObj.top+' .bottom='+cdObj.bottom+' .left='+cdObj.left+' .right='+cdObj.right;
  str+=' <FONT color=brown>width='+(cdObj.right-cdObj.left)+' height='+(cdObj.bottom-cdObj.top)+'</FONT><BR>';

  str+='div2Obj,style.top='+bnObj.top+' .bottom='+bnObj.bottom+' .left='+bnObj.left+' .right='+bnObj.right;
  str+=' <FONT color=brown>width='+(bnObj.right-bnObj.left)+' height='+(bnObj.bottom-bnObj.top)+'</FONT><BR>';

  str+='bodyObj.scrollTop='+bodyObj.scrollTop+' <FONT color=brown>bottom='+(bodyObj.scrollTop+bodyObj.scrollHeight)+'</FONT> ';
  str+='.scrollLeft='+bodyObj.scrollLeft+' <FONT color=brown>right='+(bodyObj.scrollLeft+bodyObj.scrollWidth);
  str+='</FONT> .scrollWidth='+bodyObj.scrollWidth+' .scrollHeight='+bodyObj.scrollHeight+'<BR>';
  showB.innerHTML=str;
  idx++;
}
</SCRIPT>
<DIV onclick="Highlight(this)" style="border:solid 2 red;line-height:2em;cursor:hand">
¿©±â°¡ Å« TextRectangle »ç°¢ÇüÀÌ´Ù.<BR>
ÀÌ ºí·°¿¡¼­ ¸¶¿ì½º¸¦ Ŭ¸¯ÇÒ ¶§¸¶´Ù °¢ ÁÙÀÌ °­Á¶µÈ´Ù.<BR>
ÀüºÎ °­Á¶µÈ ÈÄ¿¡´Â óÀ½ºÎÅÍ ¹Ýº¹µÈ´Ù.
</DIV>
<DIV id="div1Obj" style="position:absolute;left:15;top:0;z-index:-1`;background-color:yellow"></DIV>
<DIV id="div2Obj" style="position:absolute;left:15;top:0;z-index:-2;background-color:aqua"></DIV>
<DIV id=showB style="border:solid 1 blue;padding:5;height:5.5em">°á°ú Ç¥½Ãâ</DIV>