1
2
3
4
5
6
7
8
9
10
ÁöÁ¤À§Ä¡·Î À̵¿ÈÄ ¿øÇüÀ̵¿ go to ¿øÇüÀ¸·Î À̵¿

Ãß°¡¿¹Á¦



·¹ÀÌ¾î ¿øÇüÀ¸·Î ½ÇÇàÇϱ⿡¼­ Áß½ÉÁ¡À» ÁöÁ¤Çؼ­ ¿øÇüÀ¸·Î ȸÀü½Ãų ·¹À̾îµéÀ» Áß½ÉÁ¡À» ±âÁØÀ¸·Î ¹èÄ¡ÇÒ ¼ö ÀÖ½À´Ï´Ù. ±×·¡¼­, óÀ½ °¢ ·¹À̾îµéÀ» <div style="left:..; top:.." ·Î À§Ä¡¸¦ ¾Æ¹«µ¥³ª ÁöÁ¤Çصµ ¼ø½Ä°£¿¡ Áß½ÉÁ¡À» ±âÁØÀ¸·Î À̵¿Çϰí ȸÀüÀ» ÇÕ´Ï´Ù. ÀÌ ÆäÀÌÁö´Â óÀ½ À§Ä¡¿¡¼­ Áß½ÉÁ¡À» ±âÁØÀ¸·Î ¿øÇüÀ¸·Î ȸÀüÇϱâ Àü¿¡ ±× À§Ä¡·Î À̵¿À» ½Ã۰í ȸÀüÀ» ½ÃÀÛÇÕ´Ï´Ù. ´Ü¼øÈ÷ À̵¿ÇÏ´Â °úÁ¤À» º¸¿©ÁÖ´Â ÆäÀÌÁöÀÔ´Ï´Ù.

À̰ÍÀ» Çϱâ À§Çؼ­ óÀ½ ·¹À̾ ¹èÄ¡ÇÒ ¶§ °¢ ¹èÄ¡µÈ ÁÂÇ¥·Î »ç¼±À¸·Î À̵¿Çϱ⸦ ÇÕ´Ï´Ù. »ç¼±À¸·Î À̵¿Çϱ⸦ ÂüÁ¶Çϼ¼¿ä.

À̵¿½Ãų ·¹À̾îµéÀÔ´Ï´Ù.

<div id="D1">1</div><div id="D2">2</div><div id="D3">3</div>
<div id="D4">4</div><div id="D5">5</div><div id="D6">6</div>
<div id="D7">7</div><div id="D8">8</div><div id="D9">9</div>
<div id="D10">10</div>
ÁöÁ¤ÇÑ styleÀÔ´Ï´Ù.
#D1 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:red; layer-background-color:red;}
#D2 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D3 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D4 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D5 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D6 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D7 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D8 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D9 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
#D10 { position:absolute; left:0; top:0; width:20; height:20; clip:rect(0,20,20,0); background-color:aqua; layer-background-color:aqua;}
ÀÌµé ·¹À̾ À̵¿Á¤º¸·Î ÁöÁ¤Çϱâ À§Çؼ­ ¾Æ·¡·Î ÁöÁ¤ÇÕ´Ï´Ù.
function initShiftToCircleLoop() {

  shiftToCircleLayer = new Array();

  if(n4) { 
    shiftToCircleLayer[0] = 1 //°¢ ·¹À̾îµéÀÇ À̵¿ °£°Ý½Ã°£
    shiftToCircleLayer[1] = new shiftToCircleLoopSet(document.D1, 5, 100, 100, 200, 200, 10, 1, 3)
    shiftToCircleLayer[2] = new shiftToCircleLoopSet(document.D2, 5, 100, 100, 200, 200, 10, 2, 3)
    shiftToCircleLayer[3] = new shiftToCircleLoopSet(document.D3, 5, 100, 100, 200, 200, 10, 3, 3)
    shiftToCircleLayer[4] = new shiftToCircleLoopSet(document.D4, 5, 100, 100, 200, 200, 10, 4, 3)
    shiftToCircleLayer[5] = new shiftToCircleLoopSet(document.D5, 5, 100, 100, 200, 200, 10, 5, 3)
    shiftToCircleLayer[6] = new shiftToCircleLoopSet(document.D6, 5, 100, 100, 200, 200, 10, 6, 3)
    shiftToCircleLayer[7] = new shiftToCircleLoopSet(document.D7, 5, 100, 100, 200, 200, 10, 7, 3)
    shiftToCircleLayer[8] = new shiftToCircleLoopSet(document.D8, 5, 100, 100, 200, 200, 10, 8, 3)
    shiftToCircleLayer[9] = new shiftToCircleLoopSet(document.D9, 5, 100, 100, 200, 200, 10, 9, 3)
    shiftToCircleLayer[10] = new shiftToCircleLoopSet(document.D10, 5, 100, 100, 200, 200, 10, 10, 3)
  }
  else if(e4) {
    shiftToCircleLayer[0] = 1 //°¢ ·¹À̾îµéÀÇ À̵¿ °£°Ý½Ã°£
    shiftToCircleLayer[1] = new shiftToCircleLoopSet(document.all.D1, 5, 100, 100, 200, 200, 10, 1, 3)
    shiftToCircleLayer[2] = new shiftToCircleLoopSet(document.all.D2, 5, 100, 100, 200, 200, 10, 2, 3)
    shiftToCircleLayer[3] = new shiftToCircleLoopSet(document.all.D3, 5, 100, 100, 200, 200, 10, 3, 3)
    shiftToCircleLayer[4] = new shiftToCircleLoopSet(document.all.D4, 5, 100, 100, 200, 200, 10, 4, 3)
    shiftToCircleLayer[5] = new shiftToCircleLoopSet(document.all.D5, 5, 100, 100, 200, 200, 10, 5, 3)
    shiftToCircleLayer[6] = new shiftToCircleLoopSet(document.all.D6, 5, 100, 100, 200, 200, 10, 6, 3)
    shiftToCircleLayer[7] = new shiftToCircleLoopSet(document.all.D7, 5, 100, 100, 200, 200, 10, 7, 3)
    shiftToCircleLayer[8] = new shiftToCircleLoopSet(document.all.D8, 5, 100, 100, 200, 200, 10, 8, 3)
    shiftToCircleLayer[9] = new shiftToCircleLoopSet(document.all.D9, 5, 100, 100, 200, 200, 10, 9, 3)
    shiftToCircleLayer[10] = new shiftToCircleLoopSet(document.all.D10, 5, 100, 100, 200, 200, 10, 10, 3)
  }
}
¿©±â¼­ Ãß°¡ÇÑ ÀÎÀÚ´Â ¸Ç ³¡ÀÇ 3ÀÔ´Ï´Ù. »ç¼±À¸·Î À̵¿ÇÒ ¶§ °¢ ·¹À̾îµéÀÇ Çѹø À̵¿¾çÀÔ´Ï´Ù. shiftToCircleLoopSet()À¸·Î ȸÀüÀ̵¿ Á¤º¸¸¦ ÁöÁ¤ÇÑ ·¹À̾ »ç¼±À̵¿ Á¤º¸·Î ÂüÁ¶Çϱâ À§Çؼ­ °°Àº ÇÔ¼ö shiftToCircleLoopSet()¸¦ »ç¿ëÇϰí shiftToCircleLoopSet()¿¡ »ç¼±À̵¿ Á¤º¸¸¦ ÁöÁ¤ÇÏ´Â ÇÔ¼ö¸¦ ³Ö¾îÁÝ´Ï´Ù. ¾Æ·¡´Â shiftToCircleLoopSet() ÇÔ¼öÀÔ´Ï´Ù.
function shiftToCircleLoopSet(layer, angleIns, holizontalLength, verticalLength, circleLeftCenter, circleTopCenter, totalLayer, layerOrder, shift) { 
	//shift : »ç¼±À̵¿¾ç
  this.layer = layer
  this.moveHol = holizontalLength
  this.moveVer = verticalLength
  this.moveAngleIns = angleIns
  this.moveAngle = 360-(360/totalLayer*layerOrder) 
	
  this.leftTo = Math.floor(circleLeftCenter + holizontalLength * Math.cos(this.moveAngle*Math.PI/180) )
  this.topTo = Math.floor(circleTopCenter + verticalLength * Math.sin(this.moveAngle*Math.PI/180) )

  this.centerX = this.leftTo - holizontalLength * Math.cos(this.moveAngle*Math.PI/180) 
  this.centerY = this.topTo - verticalLength * Math.sin(this.moveAngle*Math.PI/180) 

  this.oblLayer = new obliqueSet(this.layer, this.leftTo, this.topTo, shift) 
}
·Î »ç¼±À̵¿ Á¤º¸¸¦ ȸÀüÀ̵¿ Á¤º¸ÀÇ ÇϺΠÀÎÀÚ·Î ÁöÁ¤À» ÇÕ´Ï´Ù. ȸÀüÀ̵¿Á¤º¸¸¦ °¡Áö°í ÀÖ´Â shiftToCircleLayer ¾Æ·¡¿¡ oblLayer°¡ ÀÖ½À´Ï´Ù. ±×·¡¼­ »ç¼±À̵¿ Á¤º¸¸¦ Á¦¾îÇϱâ À§Çؼ­´Â shiftToCircleLayer[°¢ ·¹À̾îÀÎÀÚ Á¤¼ö].oblLayer ·Î »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù.

this.leftTo, this.topToÀº »ç¼±À¸·Î º¸³¾ ¿øÇüÀ̵¿¿¡¼­ óÀ½ À§Ä¡ÀÔ´Ï´Ù. À̰÷±îÁö »ç¼±À¸·Î º¸³À´Ï´Ù. »ç¼±À̵¿ Á¤º¸¸¦ ÁöÁ¤ÇÏ´Â obliqueSet()ÀÔ´Ï´Ù.

function obliqueInfo(layer, leftTo, topTo, leftOrTop) { 
     //·¹À̾îÀÇ À̵¿¾çÀ» 1ÀÌÇÏÀÇ ¼ýÀÚ·Î ³ª´©¾î ¹ÝȯÇÔ. 
	var bitL=bitT=null
	var flagLeft=flagTop=1

	if(n4) {
		bitL = leftTo-layer.left
		bitT = topTo-layer.top
	}
	else if(e4) {
		bitL = leftTo-layer.style.pixelLeft
		bitT = topTo-layer.style.pixelTop
	}

	if(bitL <0) flagLeft = -1
	if(bitT <0) flagTop = -1

	bitL = Math.abs(bitL)
	bitT = Math.abs(bitT)

	if(bitL > bitT) { bitT /= bitL; bitL /= bitL; }
	else { bitL /= bitT; bitT /= bitT; } 

	if(leftOrTop == "left") return bitL*flagLeft
	else if(leftOrTop == "top") return bitT*flagTop
	else if(leftOrTop == "leftFlag") return flagLeft
	else if(leftOrTop == "topFlag") return flagTop
}
function obliqueSet(layer, leftTo, topTo, shift) { 
	this.layer=layer
	this.leftBit=obliqueInfo(layer, leftTo, topTo, "left")
	this.topBit=obliqueInfo(layer, leftTo, topTo, "top")
	this.leftFlag=obliqueInfo(layer, leftTo, topTo, "leftFlag") 
	this.topFlag=obliqueInfo(layer, leftTo, topTo, "topFlag") 

	this.moveLeftTo = leftTo
	this.moveTopTo = topTo
	this.leftMoved = false
	this.topMoved = false
	this.moveLeftBit = this.leftBit * shift 
	this.moveTopBit = this.topBit * shift

	this.overOneLeft=0 
	this.overOneTop=0
}
left, topÀÇ ÁÂÇ¥¸¸ ÀÖÀ¸¸é »ç¼±À̵¿°ú °°½À´Ï´Ù. ƯÁ¤ ÁÂÇ¥·Î »ç¼±À̵¿À» ÇÏ´Â °ÍÀÔ´Ï´Ù. ±×¸®°í ¸ÕÀú ÁöÁ¤ÇÑ À§Ä¡·Î »ç¼±À¸·Î À̵¿À» ½ÃŰ´Â moveOblique()¸¦ ½ÇÇàÇÕ´Ï´Ù. moveOblique() ÇÔ¼öÀÔ´Ï´Ù.
obliqueLeftMoved=obliqueTopMoved=1 
 //moveOblique()ÇÔ¼ö¿¡¼­ »ç¼±À¸·Î À̵¿ÇÏ´Â ·¹À̾îµéÀÇ À̵¿Á¾·á¸¦ È®ÀÎÇÔ. 
function moveOblique() { 
  if(n4) { 
    var i=1, tempL=tempT=0
    for( ; i < shiftToCircleLayer.length; i++ ) { 
      shiftToCircleLayer[i].oblLayer.overOneLeft += shiftToCircleLayer[i].oblLayer.moveLeftBit
      shiftToCircleLayer[i].oblLayer.overOneTop += shiftToCircleLayer[i].oblLayer.moveTopBit

      tempL = Math.floor(shiftToCircleLayer[i].oblLayer.overOneLeft) 
      tempT = Math.floor(shiftToCircleLayer[i].oblLayer.overOneTop) 

      shiftToCircleLayer[i].oblLayer.overOneLeft -= tempL
      shiftToCircleLayer[i].oblLayer.overOneTop -= tempT

      if( shiftToCircleLayer[i].oblLayer.layer.left < shiftToCircleLayer[i].oblLayer.moveLeftTo - (tempL*shiftToCircleLayer[i].oblLayer.leftFlag)) { 
	shiftToCircleLayer[i].oblLayer.layer.left += tempL
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.left < shiftToCircleLayer[i].oblLayer.moveLeftTo) { 
	while( shiftToCircleLayer[i].oblLayer.layer.left > shiftToCircleLayer[i].oblLayer.moveLeftTo - tempL ) 
	    tempL--
	shiftToCircleLayer[i].oblLayer.layer.left += tempL
      }

      else if( shiftToCircleLayer[i].oblLayer.layer.left > shiftToCircleLayer[i].oblLayer.moveLeftTo + (tempL*shiftToCircleLayer[i].oblLayer.leftFlag)) { 
	shiftToCircleLayer[i].oblLayer.layer.left += tempL
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.left > shiftToCircleLayer[i].oblLayer.moveLeftTo) { 
	while( shiftToCircleLayer[i].oblLayer.layer.left < shiftToCircleLayer[i].oblLayer.moveLeftTo - tempL ) 
	    tempL++; 
	shiftToCircleLayer[i].oblLayer.layer.left += tempL 
      }
      else if( !shiftToCircleLayer[i].oblLayer.leftMoved) { 
	shiftToCircleLayer[i].oblLayer.leftMoved = true
	obliqueLeftMoved++
      }

      if( shiftToCircleLayer[i].oblLayer.layer.top < shiftToCircleLayer[i].oblLayer.moveTopTo - (tempT*shiftToCircleLayer[i].oblLayer.topFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.top += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.top < shiftToCircleLayer[i].oblLayer.moveTopTo) {  
	while( shiftToCircleLayer[i].oblLayer.layer.top > shiftToCircleLayer[i].oblLayer.moveTopTo - tempT ) 
	     tempT--
	shiftToCircleLayer[i].oblLayer.layer.top += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.top > shiftToCircleLayer[i].oblLayer.moveTopTo + (tempT*shiftToCircleLayer[i].oblLayer.topFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.top += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.top > shiftToCircleLayer[i].oblLayer.moveTopTo) { 
	while( shiftToCircleLayer[i].oblLayer.layer.top < shiftToCircleLayer[i].oblLayer.moveTopTo - tempT ) 
	    tempT++; 
	shiftToCircleLayer[i].oblLayer.layer.top += tempT 
      }
      else if( !shiftToCircleLayer[i].oblLayer.topMoved) { 
	shiftToCircleLayer[i].oblLayer.topMoved = true
	obliqueTopMoved++
      }
    }
  }

  else if(e4) { 
    var i=1, tempL=tempT=0
    for( ; i < shiftToCircleLayer.length; i++ ) { 
      shiftToCircleLayer[i].oblLayer.overOneLeft += shiftToCircleLayer[i].oblLayer.moveLeftBit
      shiftToCircleLayer[i].oblLayer.overOneTop += shiftToCircleLayer[i].oblLayer.moveTopBit

      tempL = Math.floor(shiftToCircleLayer[i].oblLayer.overOneLeft) 
      tempT = Math.floor(shiftToCircleLayer[i].oblLayer.overOneTop) 

      shiftToCircleLayer[i].oblLayer.overOneLeft -= tempL
      shiftToCircleLayer[i].oblLayer.overOneTop -= tempT

      if( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft < shiftToCircleLayer[i].oblLayer.moveLeftTo - (tempL*shiftToCircleLayer[i].oblLayer.leftFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft += tempL
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft < shiftToCircleLayer[i].oblLayer.moveLeftTo) { 
	while( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft > shiftToCircleLayer[i].oblLayer.moveLeftTo - tempL ) 
	     tempL--
	shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft += tempL
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft > shiftToCircleLayer[i].oblLayer.moveLeftTo + (tempL*shiftToCircleLayer[i].oblLayer.leftFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft += tempL
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft > shiftToCircleLayer[i].oblLayer.moveLeftTo) {  
	while( shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft < shiftToCircleLayer[i].oblLayer.moveLeftTo - tempL ) 
	     tempL++; 
	shiftToCircleLayer[i].oblLayer.layer.style.pixelLeft += tempL 
      }
      else if( !shiftToCircleLayer[i].oblLayer.leftMoved) { 
	shiftToCircleLayer[i].oblLayer.leftMoved = true
	obliqueLeftMoved++
      }

      if( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop < shiftToCircleLayer[i].oblLayer.moveTopTo - (tempT*shiftToCircleLayer[i].oblLayer.topFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.style.pixelTop += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop < shiftToCircleLayer[i].oblLayer.moveTopTo) {  
	while( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop > shiftToCircleLayer[i].oblLayer.moveTopTo - tempT ) 
	      tempT--
	shiftToCircleLayer[i].oblLayer.layer.style.pixelTop += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop > shiftToCircleLayer[i].oblLayer.moveTopTo + (tempT*shiftToCircleLayer[i].oblLayer.topFlag)) {  
	shiftToCircleLayer[i].oblLayer.layer.style.pixelTop += tempT 
      }
      else if( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop > shiftToCircleLayer[i].oblLayer.moveTopTo) { 
	while( shiftToCircleLayer[i].oblLayer.layer.style.pixelTop < shiftToCircleLayer[i].oblLayer.moveTopTo - tempT ) 
	     tempT++; 
	shiftToCircleLayer[i].oblLayer.layer.style.pixelTop += tempT 
      }
      else if( !shiftToCircleLayer[i].oblLayer.topMoved) { 
	shiftToCircleLayer[i].oblLayer.topMoved = true
	obliqueTopMoved++
      }
    }
  }

  if(obliqueLeftMoved < shiftToCircleLayer.length || obliqueTopMoved < shiftToCircleLayer.length)
    moveOblique_ID = setTimeout("clearTimeout(moveOblique_ID); moveOblique()", 1) 
  else { moveCircleLoop(); } //ȸÀü½ÃÀÛ ÁöÁ¡. 
}
·Î »ç¼±À̵¿À» ½ÃÀÛÇÏ°í ¸ðµç ·¹À̾ »ç¼±À̵¿ÀÌ ³¡³ª¸é ȸÀüÀ̵¿ ÇÔ¼ö moveCircleLoop() ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
function moveCircleLoop() { 

  for(var i=1; i < shiftToCircleLayer.length; i++) { 
    if(n4) { 
      shiftToCircleLayer[i].layer.left = shiftToCircleLayer[i].centerX + shiftToCircleLayer[i].moveHol * Math.cos(shiftToCircleLayer[i].moveAngle*Math.PI/180) 
      shiftToCircleLayer[i].layer.top = shiftToCircleLayer[i].centerY + shiftToCircleLayer[i].moveVer * Math.sin(shiftToCircleLayer[i].moveAngle*Math.PI/180) 
    }
    else if(e4) {
      shiftToCircleLayer[i].layer.style.pixelLeft = shiftToCircleLayer[i].centerX + shiftToCircleLayer[i].moveHol * Math.cos(shiftToCircleLayer[i].moveAngle*Math.PI/180) 
      shiftToCircleLayer[i].layer.style.pixelTop = shiftToCircleLayer[i].centerY + shiftToCircleLayer[i].moveVer * Math.sin(shiftToCircleLayer[i].moveAngle*Math.PI/180) 
    }
    shiftToCircleLayer[i].moveAngle += shiftToCircleLayer[i].moveAngleIns 
  } 
  moveCircleLoop_ID = setTimeout("clearTimeout(moveCircleLoop_ID); moveCircleLoop()", shiftToCircleLayer[0]); 
}
·Î ȸÀüÀ̵¿À» ÇÕ´Ï´Ù.


Ãß°¡¿¹Á¦

TOP