setTimeout, clearTimeout

setTimeout : n์ดˆ ๋’ค setTimeout ๋‚ด๋ถ€์˜ interval์ด ๋‹ค์‹œ ๋™์ž‘ํ•˜๊ฒŒ ํ•  ๋•Œ ์‚ฌ์šฉํ•œ๋‹ค.

clearTimeout : setInterval์„ ๋ฉˆ์ถ˜๋‹ค.

//0.1์ดˆ๋งˆ๋‹ค ๋ฐฑ๊ทธ๋ผ์šด๋“œ ์ด๋ฏธ์ง€๋ฅผ ๋ฐ”๊ฟ”์ค€๋‹ค.
var ์ด๋ฏธ์ง€์ขŒํ‘œ = 0;
//์ž๋ฃŒ๊ตฌ์กฐ์˜ ์ผ์ข…์œผ๋กœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๊ฐ์ฒด๋Š” ๋”•์…”๋„ˆ๋ฆฌ ์ž๋ฃŒ๊ตฌ์กฐ ์—ญํ• ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. 1:1 ๋งค์นญ์„ ํ‘œํ˜„ํ•œ๋‹ค.
var ๋”•์…”๋„ˆ๋ฆฌ = {
    //1:๋‹ค๋ฅผ ๋งค์นญํ•  ์ˆ˜๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ํ•œ๊ตญ์–ด๋ฅผ ๋‹ค๋ฅธ ์–ธ์–ด๋“ค๋กœ ํ‘œํ˜„ํ•˜๊ณ  ์‹ถ์„ ๋•Œ
    //๋ฐ”์œ„ : ['0','๋ฐ”์œ„','rock'],
    // ๋ฐ”์œ„ : { ๊ฐ์ฒด๋กœ ๋งŒ๋“ค ์ˆ˜๋„ ์žˆ๋‹ค.
    //     ํ•œ๊ตญ์–ด : '๋ฐ”์œ„',
    //     ์˜์–ด : 'rock',
    //     ๊ฐ’ : '0',
    // }
    ๋ฐ”์œ„ : '0',
    ๊ฐ€์œ„ : '-142px',
    ๋ณด : '-284px',
}
/*๊ฐ’์ด ์ „ํ™˜์ด ์•ˆ ๋˜๊ธฐ ๋•Œ๋ฌธ์— ๊ฐ™์€ ๋”•์…”๋„ˆ๋ฆฌ๋ฅผ 2๊ฐœ ๋งŒ๋“ค๊ณ  ๊ฐ’์ด ๋ฐ”๋€” ๋•Œ๋งˆ๋‹ค ์ˆ˜๋™์œผ๋กœ ๋ฐ”๊ฟ”์ค˜์•ผํ•œ๋‹ค.
var ๋”•์…”๋„ˆ๋ฆฌ2 = {
    '0' : '๋ฐ”์œ„',
    '-142px' : '๊ฐ€์œ„',
    '-284px' : '๋ณด',
}*/
//Object.entries(๊ฐ์ฒด)๋กœ ๊ฐ์ฒด๋ฅผ 2์ฐจ์› ๋ฐฐ์—ด๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ๋‹ค.
//console.log(Object.entries(๋”•์…”๋„ˆ๋ฆฌ));//[ "ํ‚ค": "๊ฐ’"],[ "ํ‚ค": "๊ฐ’"],[ "ํ‚ค": "๊ฐ’"] ๊ฐ๊ฐ [0][1][2] ๋กœ ๋‚˜์˜จ๋‹ค.
function ์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) {
    return Object.entries(๋”•์…”๋„ˆ๋ฆฌ).find(function(v){//๋ฐฐ์—ด.find๋Š” ๋ฐ˜๋ณต๋ฌธ์ด์ง€๋งŒ ์›ํ•˜๋Š” ๊ฒƒ์„ ์ฐพ์œผ๋ฉด ๋ฉˆ์ถ˜๋‹ค.(return์ด true). 1์ฐจ์› ๋ฐฐ์—ด์—์„œ indexOf๋ฅผ ์ผ๋‹ค๋ฉด 2์ฐจ์›๋ฐฐ์—ด์—์„œ๋Š” find์™€findIndex๋ฅผ ์ž˜ ์“ด๋‹ค.
    //console.log(v);๋‹ค์“ด ์ฝ˜์†”๋กœ๊ทธ๋Š” ๋‹ค ์ง€์šฐ๊ณ .์ฝ”๋“œ ๊น”๋”ํ•˜๊ฒŒ.
    return v[0] === '์ด๋ฏธ์ง€์ขŒํ‘œ';//0๋ฒˆ์งธ๊ฐ€ ์ด๋ฏธ์ง€์ขŒํ‘œ์ธ ์• ๋ฅผ ์ฐพ๋Š”๋‹ค.๋ฐ˜๋ณต๋˜๋Š” ๋ณ€์ˆ˜์™€ ๊ทธ๊ฒƒ์„ ์ผ๋ฐ˜ํ™”ํ•˜์—ฌ ๋งค๊ฐœ๋ณ€์ˆ˜๋กœ.
    })[0];
}


var ์ธํ„ฐ๋ฒŒ;
function ์ธํ„ฐ๋ฒŒ๋ฉ”์ด์ปค() {
    ์ธํ„ฐ๋ฒŒ = setInterval(function() {//setInterval๊ณผ ์ด๋ฒคํŠธ๋ฆฌ์Šค๋„ˆ ์ฝœ๋ฐฑํ•จ์ˆ˜์™€ ๊ฐ™์€ ๋น„๋™๊ธฐ๋Š” ์ฝ”๋“œ ๋งˆ์ง€๋ง‰์— ์žˆ๋‹ค๊ณ  ์ƒ๊ฐ
    if(์ด๋ฏธ์ง€์ขŒํ‘œ === ๋”•์…”๋„ˆ๋ฆฌ.๋ฐ”์œ„) {
        ์ด๋ฏธ์ง€์ขŒํ‘œ = ๋”•์…”๋„ˆ๋ฆฌ.๊ฐ€์œ„;
    } else if (์ด๋ฏธ์ง€์ขŒํ‘œ === ๋”•์…”๋„ˆ๋ฆฌ.๊ฐ€์œ„) {
        ์ด๋ฏธ์ง€์ขŒํ‘œ = ๋”•์…”๋„ˆ๋ฆฌ.๋ณด;
    } else {
        ์ด๋ฏธ์ง€์ขŒํ‘œ = ๋”•์…”๋„ˆ๋ฆฌ.๋ฐ”์œ„;
    }
    document.querySelector('#computer').style.background = 'url(https://en.pimg.jp/023/182/267/1/23182267.jpg) ' + ์ด๋ฏธ์ง€์ขŒํ‘œ + ' 0 ';
},100);//0.1์ดˆ๋งˆ๋‹ค ๊ณ„์† ์‹คํ–‰ํ•œ๋‹ค.
}
์ธํ„ฐ๋ฒŒ = ์ธํ„ฐ๋ฒŒ๋ฉ”์ด์ปค();
//๊ฐ€์œ„ ๋ฐ”์œ„ ๋ณด ๋‹ค ์„ ํƒํ•  ์ˆ˜ ์žˆ๋‹ค.querySelectorAll์„ ์œ ์‚ฌ๋ฐฐ์—ด์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•˜์—ฌ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
// for(var i = 0; i < document.querySelectorAll('.btn');i += 1) {
//     document.querySelectorAll('.btn')[i].addEventListener('click',function(){
//     console.log(this.textContent);
//     });
// }
//์œ„์ฒ˜๋Ÿผ ๋ฐ˜๋ณต๋ฌธ์„ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ querySelectorAlldms forEach๋ฅผ ์ง€์›ํ•œ๋‹ค.
document.querySelectorAll('.btn').forEach(function(btn){
    btn.addEventListener('click',function() {//๊ฐ€์œ„ 0 ๋ฐ”์œ„ -1 ๋ณด 1 ์ˆซ์ž๋กœ ๋งŒ๋“ค์–ด์„œ ๊ทœ์น™์„ ๋งŒ๋“ค์–ด๋‚ด๋ฉด ์ฝ”๋“œ๊ฐ€ ์งง์•„์ง„๋‹ค.
        clearInterval(์ธํ„ฐ๋ฒŒ);//setInterval์„ ๋ฉˆ์ถ˜๋‹ค.
        setTimeout(function() {
            ์ธํ„ฐ๋ฒŒ๋ฉ”์ด์ปค();
        },1000);
        var ๋‚˜์˜์„ ํƒ = this.textContent;
        console.log(๋‚˜์˜์„ ํƒ,์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ));
        //๊ฐ€์œ„๋ฐ”์œ„๋ณด ๋น„๊ต
        if(๋‚˜์˜์„ ํƒ === '๊ฐ€์œ„' {
            if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๊ฐ€์œ„') {
                console.log('๋น„๊ฒผ์Šต๋‹ˆ๋‹ค');
            } else if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๋ฐ”์œ„') {
                console.log('์กŒ์Šต๋‹ˆ๋‹คใ… ใ… ');
            } else {
                console.log('์ด๊ฒผ์Šต๋‹ˆ๋‹ค!!');
            }
        } else if(๋‚˜์˜์„ ํƒ === '๋ฐ”์œ„') {
            if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๊ฐ€์œ„') {
                console.log('์ด๊ฒผ์Šต๋‹ˆ๋‹ค!!');
            } else if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๋ฐ”์œ„') {
                console.log('๋น„๊ฒผ์Šต๋‹ˆ๋‹ค');
            } else {
                console.log('์กŒ์Šต๋‹ˆ๋‹คใ… ใ… ');
            }

        } else if(๋‚˜์˜์„ ํƒ === '๋ณด') {
            if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๊ฐ€์œ„') {
                console.log('์กŒ์Šต๋‹ˆ๋‹คใ… ใ… ');
            } else if(์ปดํ“จํ„ฐ์˜์„ ํƒ(์ด๋ฏธ์ง€์ขŒํ‘œ) === '๋ฐ”์œ„') {
                console.log('์ด๊ฒผ์Šต๋‹ˆ๋‹ค');
            } else {
                console.log('๋น„๊ฒผ์Šต๋‹ˆ๋‹ค!!');
            }
        }
    });
})

Last updated