Index
Index1. setInterval2. clearInterval3. setInterval κ³Ό clearInterval μ λ²νΌμΌλ‘ μ μ΄ν΄λ³΄κΈ°
1. setInterval
setTimeout
ν¨μμ setInterval
ν¨μμ μ°¨μ΄λ λͺ
νν©λλ€. setTimeout
ν¨μκ° μΌμ μκ° λ€μ ν¨μλ μ§μ λ μ½λλ₯Ό μ€ννλ€λ©΄, setInterval
ν¨μλ μΌμ μκ°μ κ°κ²©μ λκ³ ν¨μλ μ§μ λ μ½λλ₯Ό μ€νν©λλ€. μμ λ‘ νμΈν΄λ΄
μλ€.const funcTime2=() => {console.log('go!')} setInterval(funcTime2 , 3000);
μ μ½λλ 'go!'λΌλ λ¬Έμμ΄μ ν¨μκ° μ€νλκ³ 3μ΄λ§λ€ μ½μμ μΆλ ₯νλ ν¨μμ
λλ€.
setTimeout
ν¨μμ²λΌ funcTime
ν¨μλ₯Ό 첫 λ²μ§Έ μΈμλ‘, κ·Έλ¦¬κ³ 3000μ μ«μλ₯Ό λ λ²μ§Έ μΈμλ‘ μ§μ΄λ£μλλ°μ, μ«μμ λ¨μλ λ°λ¦¬ μΈμ»¨λλ‘ setTimeout
ν¨μμ μ¬μ©λ²μ΄ λ§€μ° μ μ¬ν©λλ€. λ§μ°¬κ°μ§λ‘ μ€ννμλ§μ λ°νλλ μ«μ κ° μμ setInterval
μ ID κ°μ
λλ€.2. clearInterval
setTimeout
μ±ν°μμ λ€λ£¨μλ―μ΄ setInterval
ν¨μλ κ·Έ μ€νμ μ·¨μνλ ν¨μκ° μ‘΄μ¬ν©λλ€. κ·Έκ²μ΄ λ°λ‘ clearInterval
ν¨μμ
λλ€. μ¬μ©λ°©λ² μμ λμΌν©λλ€.const funcTime2=() => {console.log('go!')} let timeId2 = setInterval(funcTime2 , 3000);/*setInterval ν¨μμ IDλ₯Ό timeId2 λ³μμ μ μ₯ν©λλ€.*/ clearInterval(timeId2);
3. setInterval κ³Ό clearInterval μ λ²νΌμΌλ‘ μ μ΄ν΄λ³΄κΈ°
μμ
setTimeout
λΆλΆμ μ΄ν΄νμλλ° μ΄λ €μμ΄ μμλ€λ©΄ μ΄λ² μ±ν°λ λ¬Έμ μμΌμ€ κ²λλ€! κ·Έλ λ€λ©΄ μ΄μ html κ³Ό ν¨κ» μ’ λ μ§κ΄μ μΈ UIλ₯Ό λ§λ€μ΄λ΄
μλ€.<div class="btns"> <button type="button" class="btn_go">GO</button> <button type="button" class="btn_x">CANCEL</button> </div>
const btns= document.querySelector('.btns'); const funcTime=() => { console.log('go!'); } let timeId; btns.addEventListener('click', (event) => { if(event.target.classList.contains('btn_go')){ timeId = setInterval(funcTime ,1000); }else if(timeId !== undefined && event.target.classList.contains('btn_x')){ clearInterval(timeId); } });
μμ μ½λλ₯Ό λΆμν΄λ΄
μλ€. GO, CANCEL λ κ°μ§ λ²νΌμ΄ μ‘΄μ¬νκ³ λ λ²νΌμ
btns
λΌλ ν΄λμ€λ₯Ό κ°μ§ div
λ‘ λ¬Άμ¬ μμ΅λλ€. btns
μμλ μ΄λ²€νΈ 리μ€λκ° λ¬λ¦¬κ³ μμ λ°°μ΄ event.target
μ ν΅ν΄ btn_go
μ btn_x
μμμ μ΄λ²€νΈλ₯Ό μμν©λλ€. btn_go
μλ 1μ΄λ§λ€ funcTime
ν¨μλ₯Ό μ€νμν€λ setInterval
ν¨μκ° μ°κ²°λμ΄ μκ³ , btn_x
μλ setInterval
ν¨μμ IDλ₯Ό 맀κ°λ³μλ‘ νμ¬ κ·Έ μ€νμ μ·¨μν μ μλ clearInterval
ν¨μκ° μ°κ²°λμ΄ μμ΅λλ€. μ΄μ μ°λ¦¬λ λ²νΌμ ν΅ν΄ μΌμ μκ°λ§λ€ 'go!' λ¬Έμμ΄μ μΆλ ₯ μν€κ±°λ μ μ§ν μ μλ μΈν°λν°λΈν μΉνμ΄μ§λ₯Ό κ°μ§κ² λμμ΅λλ€.Β