์น์ ๊ธฐ์ ์ด ๋ฐ์ ํ๋ฉด์ ์ ์ฐจ ๋ง์ ํจ๊ณผ๋ฅผ ์คํฌ๋ฆฝํธ์ CSS๋ก ์ฒ๋ฆฌํ๊ณ ์์ต๋๋ค.
์ด๋ฅผ์ํด ๊ธฐ๋ณธ์ ์ผ๋ก ๊ฐ์ฅ ๋ง์ด ์ฌ์ฉํ๋ ํจ๊ณผ๋ฅผ ๊ฐ๋จํ๊ฒ ๊ตฌํํด ๋ณด๋๋ก ํ ๊ป์.
์ง์ง ์ด์ด์ด์ด์ด์ด์ด์ด์ด ๊ฐ๋จํ๊ฑฐ๋ผ์ ๋ญ .. ๋์์ด ๋ ๊น ์ถ์ง๋ง์ ์ ๋ฌธ์๋ค์๊ฒ๋ ๋ ํ์ํ ์ ์์์์?????????!
์๋ฌดํผ ์ ๊ฐ ๊ตฌํํ ํจ๊ณผ๋ ์ด๋ฐ๊ฑฐ์์.
์ง์ง ๊ฐ๋จํ์ฅฌ?
ํนํ CSS์ ๊ด๋ จ๋ ๋ด์ฉ์ ์๋๋ฏ๋ก ์คํ์ผ์ ๋ฐฐ์ ํ์ต๋๋ค.
๋ฌผ๋ก ๊ทธ๋ ๋ค๊ณ CSS๋ฅผ ์์์์ฑํ์ง ์๋ ๊ฒ์ ์๋์์
- html
1
2
3
4
5
6
7
|
<ul>
<li class="item">Javascript</li>
<li class="item">React</li>
<li class="item">Angular</li>
<li class="item">Vue</li>
<li class="item">JQuery</li>
</ul>
|
cs |
๊ทธ๋ฆฌ๊ณ css๋ ์ฐ๋ฆฌ๊ฐ ์ด๋ค ํจ๊ณผ๋ฅผ ์ค๊ฒ์ธ์ง ์ ์๊ฐํด๋ณด๊ณ ์์ฑํด๋ด ๋๋ค.
๋ํดํธ๋ ์ฒ์ ์ก์ ๊ทธ๋ฆฌ๊ณ activeํด๋์ค๋ฅผ ์ฃผ์์๋ ๋น๋ก์ ์ต์ข ์ก์ ์ ๊ฐ์ง๊บผ๊บผ์์.
์ ๋ ์ผ๋จ ์๋์์ ์๋ก ์ฌ๋ผ๋ฝ ํ๋ฉด์ ์ฌ๋ผ์ค๊ฒ ํจ๊ณผ๋ฅผ ์ฃผ๊ณ ์ถ๊ธฐ๋๋ฌธ์
์ผ๋จ ์๋์์ ์๋ก ์ฌ๋ผ์ค๋ ค๋ฉด ๊ฐ์ฒด๊ฐ ํ์ฌ์์น๋ณด๋ค ์๋์ ์์นํด์ผ๊ฒ ์ฃ .
๋ค์ํ ๋ฐฉ๋ฒ์ด ์๊ฒ ์ง๋ง ์ ๋จ์ํ margin-top์ ์ฃผ์์ต๋๋ค.
๋ํ ๋ฐ๋ก ๋ ์ฉ ํ๊ณ ๋ํ๋๋๊ฒ๋ณด๋จ ์ค๋ฅด๋ฅต ํ๋ฉด์ ๋ํ๋๋ฉด ๋ ๋ฉ์์๊ฒ๊ฐ์ ์ผ๋จ์ ๋ณด์ด์ง ์๊ฒ
opacity๋ฅผ 0 ์ผ๋ก ์ฃผ๊ณ ์์ฐ์ค๋ฌ์ด์์ง์์์ํด transition์ ์ถ๊ฐํ์ด์
1
2
3
4
5
6
7
8
9
10
11
12
13
|
<style>
.item {
margin-top:80px;
opacity:0;
transition: 0.3s ease-in;
}
.item.active{
margin-top: 0;
opacity:1;
}
</style>
|
cs |
์ด๋ ๊ฒ ํด์ฃผ๋ฉด active ํด๋์ค๊ฐ ๋ถ์ item๋ง ํ์ฑํ๊ฐ ๋๊ฒ ๋ค์.
๊ทธ๋ฌ๋ฉด ์ฒ์ ๋ก๋๋ฌ์๋ li์ ์์ฐจ์ ์ผ๋ก activeํด๋์ค๋ฅผ ๋ถ์ฌ์ฃผ๋ฉด ๋ ๊ฒ๊ฐ์์.
์ฐธ๊ณ ๋ก for๋ฌธ์ ์ฐ๋ฉด ์ฐ์ฐ์ด ๋นจ๋ผ ํ๊บผ๋ฒ์ ๋ถ์๊ฒ์ฒ๋ผ ๋ณด์ด๊ฒ ์ฃ ?
์์ฐจ์ ์ผ๋ก ๋ณด์ด๊ธฐ์ํด์๋ setInterval์ ์ฌ์ฉํ๋ฉด๋ฉ๋๋ค.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
|
<script>
var item = document.querySelectorAll('.item');
var cnt = 0;
function activeFunc(){
item[cnt].classList.add('active');
cnt++;
if(cnt >= item.length){
clearInterval(addActive);
}
}
var addActive = setInterval(activeFunc, 130);
</script>
|
cs |
์ด๋ ๊ฒ ํ๋ฉด ์ ๋๋ก ๋์ํ ๊บผ์์ !
setInterval(function, time) ์ ์ฃผ์ด time๋ง๋ค function์ ํธ์ถํ๊ฒ๋์.
๊ทธ๋ ๊ธฐ๋๋ฌธ์ ์ ํindex๋ฅผ ์ํด ์ ์ธํ cnt๋ณ์๋ global๋ณ์๋ก ๋นผ์ค์ผ ํ๊ตฌ์.
๊ทธ ์ดํ์๋ ๋์ํ๋๊ฒ์ ๋ฐฉ์งํ๊ธฐ์ํด cnt ๊ฐ ๋ชจ๋ item์ activeํด๋์ค๋ฅผ ์ถ๊ฐํด์ค๋ค
clearInterval(setIntervalfunction) ์ผ๋ก ์ข ๋ฃ์์ผ์ฃผ๋ฉด ๋ฉ๋๋ค.
'๊ฐ๋ฐ ๐พ > JavaScript' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
TODOLIST ๋ง๋ค๊ธฐ step by step - Vanilla JavaScript (0) | 2022.03.11 |
---|---|
๋ ์์ ์ด์ธ์ ํด๋ฆญ ํ๋ฉด .. ! (feat. ์ ๋ ํธ ๋ฐ์ค ์ปค์คํ ์ฐ์ฅ์ ) (8) | 2021.10.22 |
๋๋ค์ซ์๋ง๋ค๊ธฐ๊ฒ์ (0) | 2019.11.20 |
์๋์ผ๋ก ์์๋๋ก ์ซ์๊ฐ ๋ฃ์ด์ฃผ๊ธฐ - CSS counter (0) | 2019.11.12 |