
| ÀÏÁ¤ÇÑ °¢µµ¸¸Å ¿øÇüÀ̵¿ | go to ¿øÇüÀ¸·Î À̵¿Çϱâ |
°è¼Ó ·¹À̾ ȸÀü ½ÃŰÁö ¾Ê°í ƯÁ¤ÇÑ °¢µµ·Î ·¹À̾ ȸÀü½ÃŰ±â ¹æ¹ýÀÔ´Ï´Ù.
¸ÕÀú °è¼Ó À̵¿ÇÏ´Â ·¹À̾îÀ̵¿ Á¤º¸¸¦ ÁöÁ¤ÇÏ´Â ÇÔ¼ö¿¡¼ À̵¿½Ãų °¢µµ¸¦ ÁöÁ¤ÇÏ´Â ÀÎÀÚ¸¦ ³Ö¾î ÁÝ´Ï´Ù.
function initCircleTo() {
circleToLayer = new Array();
if(n4) {
circleToLayer[0] = 1 //°¢ ·¹À̾îµéÀÇ À̵¿ °£°Ý½Ã°£
circleToLayer[1] = new circleToSet(document.D1,2,100,100,200,100,4,1,90)
}
else if(e4) {
circleToLayer[0] = 1 //°¢ ·¹À̾îµéÀÇ À̵¿ °£°Ý½Ã°£
circleToLayer[1] = new circleToSet(document.all.D1,2,100,100,200,100,4,1,90)
}
}
À§ÀÇ ±½Àº ±ÛÀÚ 4, 1Àº óÀ½ ·¹À̾ ¹èÄ¡ÇÒ ¶§, ȸÀü¿¡¼ ¸Ç À§¿¡ ¿À°ÔÇϱâ À§ÇØ 360-360/(4*1)·Î 270µµ¸¦ ÁöÁ¤ Çß½À´Ï´Ù.
±×·¡¼ ½ÇÇàÇÏ¸é ½Ã°è¹æÇ⠾Ʒ¡·Î À̵¿À» ½ÃÀÛÇÕ´Ï´Ù. 4, 3 À» ÁöÁ¤ÇÑ´Ù¸é 90µµ·Î ¹èÄ¡°¡ µÇ¾î ȸÀü¿¡¼ ¸Ç ¾Æ·¡¿¡
À§Ä¡ÇÕ´Ï´Ù. ±×·¡¼, óÀ½ °¢µµ¸¦ ȸÀü ½Ã۸é À§·Î ÁøÇàÇÕ´Ï´Ù. µÎ¹øÀç ±½Àº ±ÛÀÚ 90Àº Çѹø ȸÀü½Ãų
°¢µµÀÔ´Ï´Ù. ¿©±â¼ ÁöÁ¤ÇÏ´Â °¢µµ¸¸Å ȸÀüÀ» ÇÕ´Ï´Ù.
³ª¸ÓÁö´Â °è¼Ó ·¹À̾ ȸÀü½ÃŰ´Â °Í°ú °°½À´Ï´Ù. ȸÀü Áß½ÉÀ» left ÁÂÇ¥ 200px, top ÁÂÇ¥ 100px¿¡¼ leftÀ̵¿ÆøÀ» 100px, topÀ̵¿ÆøÀ» 100px·Î ÁöÁ¤°¢µµ¿¡¼ 2¹èÀÇ °Å¸®·Î À̵¿Ç϶ó°í ÁöÁ¤À» ÇÕ´Ï´Ù.
±×¸®°í À̵é Á¤º¸¸¦ ÁöÁ¤ÇÏ´Â ÇÔ¼ö¿¡¼ °¢µµ¿Í À̵¿¾çÀ» ÆÇ´ÜÇϱâ À§ÇÑ ¸î °¡ÁöÀÇ º¯¼ö¸¦ Ãß°¡ÇØ ÁÖ¾î¾ß ÇÕ´Ï´Ù.
function circleToSet(layer,angleIns,holizontalLength,verticalLength,circleLeftCenter,circleTopCenter,totalLayer,layerOrder,circleTotal) {
this.layer = layer
this.moveHol = holizontalLength
this.moveVer = verticalLength
this.moveAngleIns = angleIns
this.moveAngle = 360-(360/totalLayer*layerOrder)
this.moveCircleTotal = circleTotal
this.moveAngleFirst = 360-(360/totalLayer*layerOrder)
this.circleStop = false
if(n4) {
layer.left = circleLeftCenter + holizontalLength * Math.cos(this.moveAngle*Math.PI/180)
layer.top = circleTopCenter + verticalLength * Math.sin(this.moveAngle*Math.PI/180)
this.centerX = layer.left - holizontalLength * Math.cos(this.moveAngle*Math.PI/180)
this.centerY = layer.top - verticalLength * Math.sin(this.moveAngle*Math.PI/180)
}
else if(e4) {
layer.style.pixelLeft = circleLeftCenter + holizontalLength * Math.cos(this.moveAngle*Math.PI/180)
layer.style.pixelTop = circleTopCenter + verticalLength * Math.sin(this.moveAngle*Math.PI/180)
this.centerX = layer.style.pixelLeft - holizontalLength * Math.cos(this.moveAngle*Math.PI/180)
this.centerY = layer.style.pixelTop - verticalLength * Math.sin(this.moveAngle*Math.PI/180)
}
}
this.moveCircleTotal = circleTotal ´Â À̵¿½Ãų °¢µµÀÔ´Ï´Ù. ¿©±â¼´Â 90À¸·Î ÁöÁ¤À» Çß½À´Ï´Ù.
ÀÌ 3°¡Áö°¡ °è¼Ó ·¹À̾ À̵¿½ÃŰ´Â ÇÔ¼ö¿¡¼ ƯÁ¤ °¢µµ¸¸Å¸¸ ȸÀü½Ã۴µ¥ ÇÊ¿äÇÑ Ãß°¡µÈ °ÍÀÔ´Ï´Ù.
À̵é Á¤º¸µéÀ» ÂüÁ¶ÇÏ¿© ·¹À̾ À̵¿½ÃŰ´Â ÇÔ¼öÀÔ´Ï´Ù.
function circleTo() {
for(var i=1; i < circleToLayer.length; i++) {
if(n4) {
if(!circleToLayer[i].circleStop) {
circleToLayer[i].layer.left = circleToLayer[i].centerX + circleToLayer[i].moveHol * Math.cos(circleToLayer[i].moveAngle*Math.PI/180)
circleToLayer[i].layer.top = circleToLayer[i].centerY + circleToLayer[i].moveVer * Math.sin(circleToLayer[i].moveAngle*Math.PI/180)
if(circleToLayer[i].moveAngleIns < 0) {
if(circleToLayer[i].moveAngle < circleToLayer[i].moveAngleFirst - circleToLayer[i].moveCircleTotal - circleToLayer[i].moveAngleIns) {
circleToLayer[i].circleStop = true;
circleToLayer[i].moveAngle %= 360
circleToLayer[i].moveAngleFirst = circleToLayer[i].moveAngle
}
}
else {
if(circleToLayer[i].moveAngle > circleToLayer[i].moveCircleTotal + circleToLayer[i].moveAngleFirst - circleToLayer[i].moveAngleIns ) {
circleToLayer[i].circleStop = true;
circleToLayer[i].moveAngle %= 360
circleToLayer[i].moveAngleFirst = circleToLayer[i].moveAngle
}
}
circleToLayer[i].moveAngle += circleToLayer[i].moveAngleIns
}
}
else if(e4) {
if(!circleToLayer[i].circleStop) {
circleToLayer[i].layer.style.pixelLeft = circleToLayer[i].centerX + circleToLayer[i].moveHol * Math.cos(circleToLayer[i].moveAngle*Math.PI/180)
circleToLayer[i].layer.style.pixelTop = circleToLayer[i].centerY + circleToLayer[i].moveVer * Math.sin(circleToLayer[i].moveAngle*Math.PI/180)
if(circleToLayer[i].moveAngleIns < 0) {
if(circleToLayer[i].moveAngle < circleToLayer[i].moveAngleFirst - circleToLayer[i].moveCircleTotal - circleToLayer[i].moveAngleIns) {
circleToLayer[i].circleStop = true;
circleToLayer[i].moveAngle %= 360
circleToLayer[i].moveAngleFirst = circleToLayer[i].moveAngle
}
}
else {
if(circleToLayer[i].moveAngle > circleToLayer[i].moveCircleTotal + circleToLayer[i].moveAngleFirst - circleToLayer[i].moveAngleIns ) {
circleToLayer[i].circleStop = true;
circleToLayer[i].moveAngle %= 360
circleToLayer[i].moveAngleFirst = circleToLayer[i].moveAngle
}
}
circleToLayer[i].moveAngle += circleToLayer[i].moveAngleIns
}
}
}
moveCircle_ID = setTimeout("clearTimeout(moveCircle_ID); circleTo()", circleToLayer[0])
}
ÁöÁ¤µÈ °¢µµ¸¸Å ·¹À̾ ȸÀü ½ÃŰ´Â ÇÔ¼öÀÔ´Ï´Ù. ±×¸®°í °¢ ·¹À̾ À̵¿ÀÌ ³¡³µÀ¸¸é circleToLayer[i].circleStop = true; ·Î ÁöÁ¤ µË´Ï´Ù.
·¹À̾ ÁöÁ¤ÇÑ °¢µµ ¸¸ÅÀ̵¿À» ÇßÀ¸¸é À̵¿À» ¸ØÃä´Ï´Ù. ±×·¡¼ µÎ¹øÀç·Î ·¹À̾ 90µµ ȸÀü½Ã۱â À§Çؼ
circleToLayer[i].circleStop¸¦ óÀ½»óÅÂÀÎ false¸¦ ÁöÁ¤ÇØ ÁÖ¾î¾ß µÎ¹øÀçµµ À̵¿ÇÕ´Ï´Ù.
function go() {
for(var i=1; i < circleToLayer.length; i++) {
circleToLayer[i].circleStop = false
}
circleTo()
}
--
<a href="javascript:go()">½ÇÇà</a>
·Î circleToLayer[i].circleStop = false·Î ¸ðµÎ ÁöÁ¤À» ÇÏ°í °¢µµ ¸¸Å ·¹À̾ ȸÀü½ÃŰ´Â ÇÔ¼ö circleTo()¸¦
È£ÃâÇÕ´Ï´Ù.
¿©·¯ ·¹ÀÌ¾î ´Ù¸¥°¢µµ·Î ȸÀüÇϱâ