14. ํญ ๋ง๋ค๊ธฐ
let kcnt = 0;
for (let i = 0; i < $('.tab-button').length; i++) {
alert(kcnt++);
$('.tab-button').eq(i).on('click', function () {
$('.tab-button').removeClass('orange');
$('.tab-button').eq(i).addClass('orange');
$('.tab-content').removeClass('show');
$('.tab-content').eq(i).addClass('show');
})
}
๊นจ๋ฌ์ ์
for๋ฌธ์ ์๋ ์๋ฆฌ์ ๋ํด์ ์ดํด๊ฐ ์ ๊ฐ์ง ์์๋ค.
i๊ฐ 0์ด๊ณ , 3๊น์ง i++๋ก ๋์๊ฐ๋ ๊ฑฐ๋ฉด i์๋ ์์๋๋ก 0,1,2 ๋ฐฐ์ ๋๋ ๊ฒ ์๋๊ฐ?
์ ํด๋ฆญํ ํญ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์์ ๊ทธ ์ธ๋ฑ์ค์ ํจ์๊ฐ ์คํ๋๋๊ฑฐ์ง?
์ฒ์์๋ eq๊ฐ ๋ฉ์๋๋ผ์ ๋ด๊ฐ ๋๋ฅธ ํญ์ ์ธ๋ฑ์ค๋ฅผ ์ฐพ์์ฃผ๋ ํ๋ค.
๊ทธ๋ฐ๋ฐ ์ ์ญ๋ณ์ kcnt ๋ฅผ ์ค์ ํด alert๋ฅผ ๋ฟ๋ฆฌ๊ณ ๋๋, kcnt alert๊ฐ ๋ธ๋ผ์ฐ์ ๋ฅผ ์๋ก๊ณ ์นจํ ์๊ฐ์ 0,1,2๊น์ง ๋๊ณ ๊ทธ ํ์ ํญ์ ํด๋ฆญํด๋ alert๊ฐ ๋จ์ง ์๋ ๊ฒ์ด์๋ค!
๋ต์ js๊ฐ ์ ์ ์ธ์ด์ด๊ธฐ ๋๋ฌธ์ด์๋ค.
๋ด๊ฐ ํด๋ฆญ์ ํ์ ๋ -> for๋ฌธ์ด ๋ง๋ค์ด์ ธ ๋๋ ๊ฒ ์๋๋ผ, ๋ธ๋ผ์ฐ์ ๊ฐ ๋ก๋ฉ๋ ์์ ์์ -> ์ด๋ฏธ i๊ฐ length๊น์ง ๋์์ -> for๋ฌธ ์์ ์ด๋ฒคํธ๋ฆฌ์ค๋ ํจ์ ์์ i์ ๊ฐ์ด 0~2๊น์ง ๋ฟ๋ ค์ ธ์๊ณ , ๊ทธ๊ฒ ํด๋ฆญํ ์์ ์ ์ฝ๋ฐฑํจ์๋ก ๋ถ๋ฌ์์ ธ ์คํ๋๋ ๊ฒ์ด์๋ค.
for๋ฌธ์ ์๋์๋ฆฌ์ ๋ํด ํ์คํ๊ฒ ์ง๊ณ ๋์ด๊ฐ ๋ณด๋์ฐฌ ์๊ฐ์ด์๋ค.
ํจ์์ถ์ฝ๋ฒ์
for (let i = 0; i < $('.tab-button').length; i++) {
$('.tab-button').eq(i).on('click', function () {
openTab(i);
})
// $('.tab-button').eq(i).on('click', openTab(i)) //์ด๋ ๊ฒ ํด๋ ๋จ.
}
function openTab(i){
$('.tab-button').removeClass('orange');
$('.tab-button').eq(i).addClass('orange');
$('.tab-content').removeClass('show');
$('.tab-content').eq(i).addClass('show');
}
์ด๋ฒคํธ๋ฒ๋ธ๋งํ์ฉ๋ฒ์
function openTab(i){
$('.tab-button').removeClass('orange');
$('.tab-button').eq(i).addClass('orange');
$('.tab-content').removeClass('show');
$('.tab-content').eq(i).addClass('show');
}
//๋ฒ๋ธ๋ง์ด ์ผ์ด๋๋ for๋ฌธ๋ฒ์ 1
$('.list').click(function(e){
for (let i = 0; i < $('.tab-button').length; i++) {
if(e.target == document.querySelectorAll('.tab-button')[i]){
openTab(i);
} else {e.preventDefault;}
}
})
//์์ ๋๊ฐ์ด ๋์ํ๋ ๋ฒ๋ธ๋ง์ด ์ผ์ด๋๋ for๋ฌธ๋ฒ์ 2
for (let i = 0; i < $('.tab-button').length; i++) {
$('.list').click(function(e){
if(e.target == document.querySelectorAll('.tab-button')[i]){
openTab(i);
} else {e.preventDefault;}
})
}
//*****dataset ํ์ฉ ๋ฒ์ (<---๋๋ฌดํธํ๊ณ )******
$('.list').click(function(e){
openTab(e.target.dataset.id);
})
๋ง์ง๋ง dataset ํ์ฉ ๋ฒ์ ์ด ์ฐธ์ผ๋ก ์งง๊ณ ํธํ ๊ฒ ๋ง์ ๋ ๋ค.
+ ํฌ๋ฌธ๋ฒ์ ์ด ์ด๋ฒคํธ์์ ํฌ๋ฌธ์๋ฃ๋ ํฌ๋ฌธ์์ ์ด๋ฒคํธ๋ฅผ ๋ฃ๋ ๋์ผํ๊ฒ ๋์ํ๋ค..
15. ๋ชจ๋ฌ์ฐฝ ๊ฒ์๋ฐฐ๊ฒฝ ๋๋ฅด๋ฉด ๊บผ์ง๊ธฐ
์กฐ๊ฑด
ํฐ์ ๋ชจ๋ฌ์ฐฝ๋ถ๋ถ์ ๋๋ฌ๋ ๊บผ์ง์ง ์๊ฒ ํ๋ค
let btn = document.querySelector('.btn-primary');
let modal = document.querySelector('.black-bg');
let clickEvent = function(e){
if (e.target == this){ //this๋ e.currentTarget์ผ๋ก๋ ์ธ ์ ์๋ค.
modal.classList.toggle('show');
} else {e.preventDefault();}
}
btn.addEventListener('click', clickEvent)
modal.addEventListener('click', clickEvent)
๊นจ๋ฌ์ ์
์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ์์์ ์ด๋ฒคํธ๊ฐ ์คํ๋์์ ๋ ๊ทธ ์์์ ์์์์๊น์ง ์ด๋ฒคํธ๊ฐ ์คํ๋๋ ๊ฒ์ด๋ค. ์ด๋ฒคํธ ๋ฒ๋ธ๋ง์ ํญ์ ์ผ์ด๋๊ณ , ๋ค์ํ ๊ด๋ จ ํจ์๋ฅผ ์ฌ์ฉํ๋ฉด ์ข๋ค.
์ด์ ๊ดํด ์ ๋ฆฌํ ๊ธ : https://sunshineyellow.tistory.com/92
์ถ์ฒ : ์ฝ๋ฉ์ ํ https://codingapple.com/
'๐จ JavaScript > ๋ฌธ์ ํ๊ธฐ (ํ๋ก๊ทธ๋๋จธ์ค, ์ฝ๋ฉ์ ํ)' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
Level 3 : 4 (array, object, forEach) (0) | 2023.01.31 |
---|---|
Level 3 : 1~3 (array, object) (0) | 2023.01.31 |
Level 2 : 6~13(์์ ๋ฐ ๊นจ๋ฌ์ ์ )_scroll (0) | 2023.01.12 |
Level 2 : 1~5 (์์ ๋ฐ ๊นจ๋ฌ์ ์ )_if๋ฌธ (0) | 2023.01.09 |
Level 1 : 6~12 (์์ ๋ฐ ๊นจ๋ฌ์ ์ ) (0) | 2023.01.08 |