728x90
๋ฐ์ํ
๐ก ์ค์ต ํฌ์ธํธ!
- Navbar ์ ๋ฒํผ์ ํด๋ฆญํ๋ฉด ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ slideUp, slideDown ์ ํํ๋ก ์ด๊ณ ๋ซํ๊ฒ ํ๋ค.
๐ HTML
<nav class="navbar navbar-light bg-light">
<div class="container-fluid">
<span class="navbar-brand">Navbar</span>
<button class="navbar-toggler" type="button">
<span class="navbar-toggler-icon"></span>
</button>
</div>
</nav>
<ul class="list-group">
<li class="list-group-item">An item</li>
<li class="list-group-item">A second item</li>
<li class="list-group-item">A third item</li>
<li class="list-group-item">A fourth item</li>
<li class="list-group-item">And a fifth one</li>
</ul>
- ๋น ๋ฅธ Navbar ๋ ์ด์์ ๋์์ธ์ ์ํด Bootstrap ์ ํ์ฉํ๋ค.
- Navbar ์๋์ Navbar ์ ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ ๋ ๋ ์ด์์๋ Bootstrap ์์ ๋ณต์ฌ-๋ถ์ฌ๋ฃ๊ธฐ ํด์ฃผ์๋ค.
๐ CSS
.list-group {
display: none;
}
.show {
display: block;
}
- ๊ธฐ๋ณธ ๋ ์ด์์์ด ์ค๋น๋์๋ค๋ฉด, ์ฐ์ ์ฒซํ๋ฉด์์๋ ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ ๋ณด์ฌ์ ธ์๋ ์๋๋ฏ๋ก display: none ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
- ๊ทธ๋ฆฌ๊ณ list-group ํด๋์ค์ show ๋ผ๋ ํด๋์ค๊ฐ ๋ถ์ผ๋ฉด ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ ๋ณด์ฌ์ง๊ฒ๋ show ํด๋์ค์๋ display: block ์ฒ๋ฆฌ๋ฅผ ํด์ค๋ค.
๐ JavaScript
// JavaScript ๋ฌธ๋ฒ์ ํ์ฉํ์ฌ Navbar ๋ฆฌ์คํธ ๋ชฉ๋ก ๋ณด์ด๊ฒ ํ๊ธฐ
document.querySelectorAll('.navbar-toggler')[0].addEventListener('click', function(){
document.querySelectorAll('.list-group')[0].classList.toggle('show');
})
// jQuery ๋ฌธ๋ฒ์ ํ์ฉํ์ฌ Navbar ๋ฆฌ์คํธ ๋ชฉ๋ก ๋ณด์ด๊ฒ ํ๊ธฐ (+ slide ์ ๋๋ฉ์ด์
ํจ๊ณผ)
$('.navbar-toggler').eq(0).on('click', function(){
$('.list-group').eq(0).slideToggle('show');
})
- ๋ ์ด์์ ๋์์ธ์ด ์๋ฃ๋์์ผ๋ฉด ์ด์ ์ฐ์ธก์ ํ๋ฒ๊ฑฐ ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ ๋ณด์๋ค๊ฐ ์ ๋ณด์๋ค๊ฐ ํ ์ ์๊ฒ ๊ธฐ๋ฅ์ ๋ฃ์ด์ฃผ์ด์ผ ํ๋ค.
- ์ฒ์์๋ javaScript ๋ฌธ๋ฒ์ผ๋ก ๋๋ฒ์งธ์๋ jQuery ๋ฌธ๋ฒ์ ์ฌ์ฉํด์ slide ์ ๋๋ฉ์ด์ ํจ๊ณผ๊ฐ ๋ค์ด๊ฐ ๊ธฐ๋ฅ์ ๋ง๋ค์ด๋ณด์๋ค.
- eq(์ซ์) ๋ถ๋ถ์ ๊ธฐ์กด์ JavaScript ์์์ ์ธ๋ฑ์ค์ ๊ฐ์ ์ญํ ์ ํ๋ค. id ๋ ์ ์ผํ๋ฏ๋ก ๋ง์ฝ id ๋ฅผ ๊ฐ์ ธ์ค๋ ๊ฒ์ด๋ผ๋ฉด ๊ตณ์ด ์ฌ์ฉํ ํ์์์ง๋ง, class ๋ผ๋ฉด ์ค๋ณต์ด ๋ฐ์ํ ์ ์์ผ๋ฏ๋ก ์ธ๋ฑ์ค์ ํด๋นํ๋ ๋ถ๋ถ์ ๋ฃ์ด์ฃผ๋ ๊ฒ์ ํ์์ด๋ค.
- ๋ฒํผ์ ๋๋ฅผ ๋๋ง๋ค ํ ๊ธ์ฒ๋ผ ๋ฉ๋ด ๋ฆฌ์คํธ๊ฐ ๋ณด์๋ค๊ฐ ์๋ณด์๋ค๊ฐ ํด์ผํ๋ฏ๋ก slideUp, slideDown ์ด ์๋ slideToggle ์ ์ฌ์ฉํ๋ค.
728x90
๋ฐ์ํ