๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
[๊ฐœ๋ฐœ] Practice/JavaScript jQuery

[JavaScript / jQuery] setTimeout ํƒ€์ด๋จธ๋กœ ์ด๋ฒคํŠธ ๋ฐฐ๋„ˆ ๊ธฐ๋Šฅ ๋งŒ๋“ค๊ธฐ

by Connecting-the-dots 2022. 3. 5.
728x90
๋ฐ˜์‘ํ˜•

๐Ÿ’ก ์‹ค์Šต ํฌ์ธํŠธ!

  • ์˜ค๋Š˜์€ setTimeout ๊ณผ setInterval ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•˜๊ณ , ๊ฐ„๋‹จํ•˜๊ฒŒ๋‚˜๋งˆ ์ด๋ฒคํŠธ ๋ฐฐ๋„ˆ๋ฅผ ๋งŒ๋“ค์–ด๋ณด์•˜๋‹ค.
  • ์ด๋ฒคํŠธ ๋ฐฐ๋„ˆ์˜ ํฌ์ธํŠธ๋Š” ์นด์šดํŠธ๋‹ค์šด์ด ๋˜๋Š” ๊ฒƒ๊ณผ 0์ดˆ๊ฐ€ ๋˜๋Š” ๋™์‹œ์— ๋ฐฐ๋„ˆ๊ฐ€ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ!!

๐Ÿ’œ HTML

<div class="alert alert-danger" id="time-alert">
    ๐ŸŽ <span id="time">5</span> ์ดˆ ์ด๋‚ด ๊ตฌ๋งค ์‹œ ์‚ฌ์€ํ’ˆ ์ฆ์ •! ๐ŸŽ
</div>
  • ์ผ๋‹จ ์ ์ ˆํ•œ ์œ„์น˜์— ์œ„์™€ ๊ฐ™์ด ํƒœ๊ทธ๋ฅผ ๋„ฃ์–ด์ฃผ์—ˆ๋‹ค.
  • ๋น ๋ฅธ ๋””์ž์ธ์„ ์œ„ํ•ด Bootstrap ์„ ํ™œ์šฉํ–ˆ๋‹ค.
  • ์ดˆ๋Š” ๊ณ„์† ๋ฐ”๋€Œ๊ฒŒ ๋งŒ๋“ค ์˜ˆ์ •์ด์—ˆ๋ฏ€๋กœ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๊ธฐ ์‰ฝ๊ฒŒ span ํƒœ๊ทธ๋กœ ๋ฌถ์–ด์ฃผ์—ˆ๋‹ค.

๐Ÿ’œ JavaScript

var count = 5;
setInterval(function(){
    count -= 1;
    if (count > 0) {
        $('#time').html(count);
    } else {
        $('#time-alert').hide();
    }
}, 1000);
  • ์นด์šดํŠธ๋Š” 5์ดˆ๋กœ ์ง„ํ–‰ํ•  ๊ฒƒ์ด๊ณ , 1์ดˆ(1000ms)์”ฉ ์ค„์–ด๋“ค ๋•Œ๋งˆ๋‹ค id ๊ฐ€ time ์ธ ํƒœ๊ทธ์˜ ๋‚ด์šฉ์ด ๋ฐ”๋€Œ์–ด์•ผ ํ•œ๋‹ค.
  • ๊ทธ๋ฆฌ๊ณ  ์นด์šดํŠธ๊ฐ€ 0์ด ๋˜์—ˆ์„ ๋•Œ๋Š” ๋ฐฐ๋„ˆ๋ฅผ ์ˆจ๊น€์ฒ˜๋ฆฌ๋ฅผ ํ•ด์•ผ ํ•œ๋‹ค.
  • ๋”ฐ๋ผ์„œ ์œ„์™€ ๊ฐ™์ด setInterval ์„ ์ž‘์„ฑํ•˜์˜€๋‹ค.
728x90
๋ฐ˜์‘ํ˜•