๋ชฉ์ฐจ
์๋ฐ์คํฌ๋ฆฝํธ ์๊ฐ ์ ์ด ํจ์ setTimeout(), setInterval(), clearTimeout()
์๋ฐ์คํฌ๋ฆฝํธ๋ฅผ ์ด์ฉํด์ ์ผ์ ํ ์๊ฐ ๊ฐ๊ฒฉ๋ง๋ค ํน์ ์ผ์ ํ ์๊ฐ์ด ์ง๋ ๋ค์ ํน์ ์ด๋ฒคํธ๋ฅผ ๋ฐ์์ํค๊ฑฐ๋ ๋์์ ์ทจํด์ผ ํ ๊ฒฝ์ฐ๊ฐ ์ข ์ข ์๋ค.
์ด๋ด ๋ ์ฌ์ฉํ๋ ์๋ฐ์คํฌ๋ฆฝํธ ์๊ฐ ํจ์๊ฐ ๋ฐ๋ก setTimeout()์ setInterval()์ด๋ค.
setTimeout(), setInterval()์ ๊ฐ์ฅ ํฐ ์ฐจ์ด์ ์ ํ ๋ฒ๋ง ์คํํ๋๋, ๊ณ์ ๋ฐ๋ณต์ ์ผ๋ก ์คํํ๋๋์ ์ฐจ์ด๋ค.
<script>
setInterval(function() {
yourFunction(e);
}, 1000);
setTimeout(function() {
yourFunction(e);
}, 1000);
</script>
์์ ๋ ์์ ์ฒ๋ผ ๋จ ํ๋ฒ๋ง ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด setTimeout์ ์ฌ์ฉํ๊ณ , ์ผ์ ํ ์๊ฐ๊ฐ๊ฒฉ์ผ๋ก ๋ฐ๋ณต ์ ์ฉํ๊ณ ์ถ๋ค๋ฉด setInterval()์ ์ฌ์ฉํ๋ฉด ๋๋ค.
setInterval์์ 1000์ด๋ผ๋ ์ซ์๋ ๋ฐ๋ฆฌ์ธ์ปจ๋๋ก ํด๋น ์ซ์์ ์๊ฐ ๊ฐ๊ฒฉ๋งํผ ๋ฐ๋ณตํ๋๋ก ์ค์ ํ๋ ๊ฒ์ด๋ค.
๊ทธ๋ฐ๋ฐ ๋ง์ผ ์ง์์ ์ผ๋ก ๋ฐ๋ณต๋๋ ๋์์ ์ด๋ค ์กฐ๊ฑด์์๋ ๋ ์ด์ ๋ฐ๋ณตํ์ง ์๋๋ก ํ ํ์๊ฐ ์๋ค.
์ด๋ด ๋ ์ฌ์ฉํ๋ ํจ์๋ clearinterval()์ด๋ค.
setInterval()๋ก ์์๋ ๋ฐ๋ณต ํ์ด๋จธ๋ clearinterval() ํจ์๋ก ์ทจ์๋๋ ๊ฒ์ด๋ค.
๋ง์ฐฌ๊ฐ์ง๋ก setTimeout() ํจ์๋ก ์ํ ํญํ ํ์ด๋จธ๊ฐ ๋์ํ๊ณ ์์ ๋ ์ด ๊ฒ์ ์ทจ์ํ๋ ํจ์๋clearTimeout()์ด๋ค.
์ฌ์ฉ์์
<p id="msg"></p>
<div id="btn2">
<button id="settime">set time</button>
<button id="cleartime">clear time</button>
<button id="setinterval">setinterval time</button>
<button id="clearinterval">clearinterval time</button>
</div>
<script>
var buttons = document.getElementsByTagName("button");
for ( var i = 0; i < buttons.length; i++) {
buttons[i].onclick = handleButtonPress;
}
var timeCheckID;
var intervalCheckID;
var count = 0;
function handleButtonPress(e){
if (e.target.id == "settime") {
timeCheckID = window.setTimeout(function() {
print("Timeout Expired");
}, 2000);
print("Timeout Set");
} else if (e.target.id == "cleartime"){
window.clearTimeout(timeCheckID);
print("Timeout Cleared");
} else if (e.target.id == "setinterval"){
intervalCheckID = window.setInterval(function(){
print("Interval expired. Counter: " + count++);
}, 1000);
print("Interval Set");
} else if (e.target.id == "clearinterval"){
window.clearInterval(intervalCheckID);
print("Interval Cleared");
}
}
function print(msg){
document.getElementById("msg").innerHTML = msg;
}
</script>
์์ ํ ์คํธ
๋๊ธ