 |
|
|  |
ÀÚ¹Ù½ºÅ©¸³Æ® ŸÀÌ¸Ó - setTimeout, setInterval, clearInterval ÇÔ¼ö |
|
|
 |
9³â Àü |
Javascript ¸¦ ÀÌ¿ëÇÒ ¶§,
1) Á¾Á¾ ƯÁ¤ ÇÔ¼ö³ª ±â´ÉÀ» ÆäÀÌÁö°¡ ·ÎµåµÇ°Å³ª ¹öÆ°ÀÌ Å¬¸¯µÇ¾úÀ» ¶§, ¹Ù·Î ½ÇÇàÇÏÁö ¾Ê°í, ¾à°£ÀÇ ½Ã°£ÀÌ Áö³ÈÄ¿¡ ½ÇÇàµÇ°Ô ÇÏ°í ½ÍÀº °æ¿ì°¡ ÀÖ½À´Ï´Ù. ¶Ç´Â
2) ƯÁ¤ ÇÔ¼ö¸¦ Áö¼ÓÀûÀ¸·Î ¹Ýº¹ÇÏ¿© ½ÇÇàÇÏ°í ½ÍÀº °æ¿ìµµ ÀÖ±¸¿ä.
¿¹¸¦ µé¸é ƯÁ¤ Á¤º¸¸¦ ȸ鿡 Ç¥½ÃÇÏ¿© »ç¿ëÀÚ¿¡°Ô ¾È³»ÇÏ°í, 5ÃÊ ÈÄ¿¡ ´Ù¸¥ ÆäÀÌÁö·Î À̵¿½ÃÅ°°í ½ÍÀº °ÍÀ̶ó¸é À§ÀÇ Ã¹¹ø° °æ¿ìÀÌ°ÚÁÒ?
±×¸®°í 10Ãʸ¶´Ù »õ·Î¿î Á¤º¸¸¦ º¸¿©ÁÖ±â À§ÇØ ÆäÀÌÁöÀÇ Æ¯Á¤ ¿µ¿ª ÇÁ·¹ÀÓÀ» AJAXÈ£ÃâÀ» ÅëÇØ Áö¼ÓÀûÀ¸·Î °»½ÅÇØÁÖ°í ½ÍÀº °æ¿ì¶ó¸é µÎ¹ø° °æ¿ìÀÏ °Í °°±¸¿ä.
ÀÌ·± 󸮸¦ À§ÇØ Javascript´Â ¾î¶² ÇÔ¼ö¸¦ Á¦°øÇÏ°í ÀÖÀ»±î¿ä?
¹Ù·Î setTimeout °ú setInterval ÇÔ¼öÀÔ´Ï´Ù.
¹Ù·Î ÇÔ¼ö Á¤ÀÇ¿Í »ç¿ë ¹æ¹ý¿¡ ´ëÇØ ¾Ë¾Æ º¸°Ú½À´Ï´Ù.
1) setTimeout([Function], [Milliseconds])
- ƯÁ¤ ½Ã°£ ÀÌ ÈÄ, ´Ü Çѹø¸¸ ƯÁ¤ ÇÔ¼ö ¶Ç´Â Äڵ带 ½ÇÇà½Ãų ¶§ »ç¿ëÇÕ´Ï´Ù.
- 2¹ø° ÀÎÀÚÀÇ ½Ã°£(Milliseconds)ÀÌ °æ°úÇϸé 1¹ø° ÀÎÀÚÀÇ ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
- ¿¹Á¦ ÄÚµå
<script type="text/javascript">
$(document).ready(function() {
...
setTimeout("ozit_timer_test()", 3000); // 3000ms(3ÃÊ)°¡ °æ°úÇϸé ozit_timer_test() ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
...
});
function ozit_timer_test(){
alert("¿ÀÁîÀÇ ¼øÀ§¿Õ ºí·Î±×·Î À̵¿ÇÕ´Ï´Ù.");
location.href = "http://ozrank.co.kr"; // ¿ÀÁîÀÇ ¼øÀ§¿Õ ºí·Î±×·Î À̵¿ÇÕ´Ï´Ù.
}
</script>
À§ÀÇ ¿¹Á¦ÄÚµå´Â ù¹ø° ÀÎÀÚ·Î »ç¿ëµÇ´Â ÇÔ¼ö¸¦ º°µµ·Î Á¤ÀÇÇÑ ÈÄ, ÇØ´ç ÇÔ¼ö¸íÀ» ÀÎÀÚ·Î setTimeout ÇÔ¼ö¸¦ È£ÃâÇÏ°í Àִµ¥, ÇØ´ç ÇÔ¼ö°¡ ´Ù¸¥ °÷¿¡ »ç¿ëµÇÁö ¾Ê°í, Àç»ç¿ëÀÌ ÇÊ¿äÇÏÁö ¾ÊÀº °æ¿ì¶ó¸é ´ÙÀ½ÀÇ ÄÚµå ó·³ ÇÔ¼ö Á¤ÀÇ ÀÚü¸¦ ù¹ø° ÀÎÀÚ ³»¿¡ ±¸ÇöÇÒ ¼ö ÀÖ½À´Ï´Ù.
Âü°í : 1000ms ´Â 1s ÀÔ´Ï´Ù. (1000¹Ð¸®¼¼ÄÁµå = 1¼¼ÄÁµå(ÃÊ))
<script type="text/javascript">
$(document).ready(function() {
...
setTimeout(function() {
alert("¿ÀÁîÀÇ ¼øÀ§¿Õ ºí·Î±×·Î À̵¿ÇÕ´Ï´Ù.");
location.href = "http://ozrank.co.kr";
}, 3000); // 3000ms(3ÃÊ)°¡ °æ°úÇϸé ÀÌ ÇÔ¼ö°¡ ½ÇÇàµË´Ï´Ù.
...
}
</script>
Äڵ尡 Á» ´õ °£°áÇØÁ³½À´Ï´Ù.(ÇÏÁö¸¸ »ç½Ç °¡µ¶¼ºÀº ¾à°£ ¶³¾îÁø ÆíÀÔ´Ï´Ù.)
±×¸®°í ´ÜÁö ÇØ´ç ÄÚµå(ÇÔ¼ö)´Â ´Ù¸¥ °÷¿¡¼ Àç»ç¿ëÇÏÁö ¸øÇÏ°í ¿ÀÁ÷ setTimeout ³»¿¡¼¸¸ »ç¿ëµË´Ï´Ù.
ÀÌ·¸°Ô ÇÔ¼öÀÇ À̸§¾øÀÌ °£°áÇÏ°Ô ÀÛ¼ºµÈ ÇÔ¼ö¸¦ À͸í ÇÔ¼ö(Anonymous Function) ¶ó°í ÇÕ´Ï´Ù.
»ç½Ç À§¿Í °°Àº ±¸Çö ¹æ¹ýÀº Javascript ¸¹ÀÌ ÇϽŠºÐµéÀ̶ó¸é ½±°Ô ÀÌÇØÇÏ°í, °£ÆíÇϱ⠶§¹®¿¡ ÀÚÁÖ »ç¿ëÇϽô ¹æ¹ýÀ̱⵵ ÇÕ´Ï´Ù. ¤¾¤¾
2) setInterval([Function], [Milliseconds])
- ƯÁ¤ ½Ã°£ ¸¶´Ù ƯÁ¤ ÇÔ¼ö ¶Ç´Â Äڵ带 ½ÇÇà½Ãų ¶§ »ç¿ëÇÕ´Ï´Ù.
- 2¹ø° ÀÎÀÚÀÇ ½Ã°£(Milliseconds)ÀÌ Áö³¯¶§¸¶´Ù 1¹ø° ÀÎÀÚÀÇ ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
- ¿¹Á¦ ÄÚµå
<script type="text/javascript">
var sum = 0;
$(document).ready(function() {
...
setInterval("ozit_interval_test()", 5000); // ¸Å 5000ms(5ÃÊ)°¡ Áö³¯ ¶§¸¶´Ù ozit_timer_test() ÇÔ¼ö¸¦ ½ÇÇàÇÕ´Ï´Ù.
...
});
function ozit_timer_test(){ // ÀÌ ÇÔ¼ö´Â 5Ãʸ¶´Ù ½ÇÇàµË´Ï´Ù.
sum += 1; // ¸Å 5Ãʸ¶´Ù ¼ýÀÚ 1À» sum º¯¼ö¿¡ ´õÇÕ´Ï´Ù.
}
</script>
À§ÀÇ setTimer¿¡¼¿Í °°ÀÌ Á» ´õ °£°áÇÑ ÄÚµå·Î ÀÛ¼ºÇغ¸°Ú½À´Ï´Ù.
<script type="text/javascript">
var sum = 0;
$(document).ready(function() {
...
setInterval(function() {
sum += 1; // ¸Å 5Ãʸ¶´Ù ¼ýÀÚ 1À» sum º¯¼ö¿¡ ´õÇÕ´Ï´Ù.
}, 5000); // 5000ms(5ÃÊ)°¡ °æ°úÇϸé ÀÌ ÇÔ¼ö°¡ ½ÇÇàÇÕ´Ï´Ù.
...
});
</script>
±×¸®°í ¸¶Áö¸·À¸·Î ÇÑ°¡Áö ´õ!!
setInterval ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é ¸Å Æ¯Á¤ ½Ã°£¸¶´Ù ÇÔ¼ö°¡ ½ÇÇàµÇ´Âµ¥, ÀÌ°Ô ÆäÀÌÁö°¡ ¹Ù²î°Å³ª ¸®ÇÁ·¹½Ã µÉ¶§±îÁö ¹« ÇÑÁ¤ ½ÇÇàµË´Ï´Ù.
¹°·Ð ¹«ÇÑÁ¤ ½ÇÇàµÇ¾î¾ß ÇÏ´Â ÆäÀÌÁöµµ ÀÖ°ÚÁö¸¸, ¾î¶² ƯÁ¤ Á¶°ÇÀÌ µÇ¾úÀ» ¶§, ´õ ÀÌ»ó setIntervalÀÌ µ¿ÀÛÇÏÁö ¾Ê±â ¿øÇÒ ¶§µµ ÀÖÀ» °ÍÀÔ´Ï´Ù.
±×·¯¸é setIntervalÀÌ ´õ ÀÌ»ó µ¿ÀÛÇÏÁö ¾Ê°Ô ÇÒ ¼ö´Â ¾øÀ»±î¿ä?
ÀÌ ¶§¿¡´Â clearInterval ÇÔ¼ö¸¦ »ç¿ëÇÏ¸é µË´Ï´Ù. ±×¸®°í setInterval ÇÔ¼ö ½ÇÇà ½Ã, ¹Ýµå½Ã return °ª (Timer ID)À» ¹Ýȯ ¹Þ¾Æ¼ °¡Áö°í ÀÖ¾î¾ß ÇÕ´Ï´Ù.
3) clearInterval([Timer Id])
<script type="text/javascript">
var timerId = 0;
$(document).ready(function() {
timerId = setInterval("ozit_interval_test()", 5000);
document.getElementById('stop_timer').onclick = function() { // ÀζóÀÎ ÇÔ¼ö
clearInterval(timerId); // timerId °ªÀ» ÀÎÀÚ·Î ÀÔ·ÂÇÏ¿© ÇØ´ç setInterval À» Á¾·á½Ãŵ´Ï´Ù.
}
});
</script>
<span id='stop_timer'>ŸÀÌ¸Ó ¸ØÃß±â</span>
ÀÌÁ¦ setTImeout °ú setInterval, clearInterval ÇÔ¼ö¸¦ ½±°Ô »ç¿ëÇÏ½Ç ¼ö ÀÖÀ¸½Ã°ÚÁÒ?
±×¸®°í À͸íÇÔ¼ö(Anonymous Function)¿¡ ´ëÇؼµµ °£´ÜÈ÷ ¾Ë¾Æ º¸¾Ò½À´Ï´Ù.^^ |
|
̵̧ : 409 |
̵̧
¸ñ·Ï
|
|
|  |
|