whatisthis?
practice - css / jquery ) j์ฟผ๋ฆฌ๋ก ์์ฝ๋์ธ๋ฉ๋ด ๋ง๋ค๊ธฐ + ์ถ๊ฐ ๋ณธ๋ฌธ
practice - css / jquery ) j์ฟผ๋ฆฌ๋ก ์์ฝ๋์ธ๋ฉ๋ด ๋ง๋ค๊ธฐ + ์ถ๊ฐ
thisisyjin 2022. 3. 10. 15:43๐ป j-Query ์์ด ๋ง๋ ์์ฝ๋์ธ ๋ฉ๋ด
Accordion Menu
with jQuery
.slideUp() | ์ ํํ ์์์ CSS height ์์ฑ๊ฐ์ ๋์ฌ๊ฐ๋ฉฐ ์ฌ๋ผ์ง๊ฒ ํ๋ค. (์ฌ๋ผ๊ฐ๋ฉด์ ์ฌ๋ผ์ง) |
.slideDown() | ์ ํํ ์์์ CSS height ์์ฑ๊ฐ์ ๋ฎ์ถฐ๊ฐ๋ฉฐ ๋ํ๋๊ฒ ํ๋ค. (๋ด๋ ค๊ฐ๋ฉด์ ์ฌ๋ผ์ง) |
.slideToggle() | ์ ํํ ์์์ .slideUp() ๋ฉ์๋์ .slideDown() ๋ฉ์๋๋ฅผ ๋ฒ๊ฐ์๊ฐ๋ฉฐ ์ ์ฉํ๋ค. |
๋ฐฉ๋ฒ 1 / slideDown๊ณผ slideUp ์ด์ฉ
$(document).ready(function () {
$(".title").click(function () {
if ($(this).hasClass("active")) {
slideUp();
} else {
slideUp();
$(this).addClass("active").next().slideDown();
}
function slideUp() {
$(".title").removeClass("active").next().slideUp();
}
});
});
active ์ํ๋ฉด? - ์ด๋ฏธ ์ด๋ฆฐ ์ํ์. slideup์ผ๋ก ์๋ก ์ฌ๋ผ์ง๊ฒํจ.
activeํ์ง ์์๋ค๋ฉด - ์ด์ ์ด์ด์ผํจ. class์ถ๊ฐํ๊ณ , next(),์ฆ text๋ถ๋ถ์ slideDown์ผ๋ก ์๋๋ก ํผ์ณ์ง๊ฒํจ.
result
๋ฐฉ๋ฒ 2 / slideToggle
slideToggle ๋ฉ์๋๋
์ ํํ ์์๊ฐ ํ์ฌ ์ฌ๋ผ์ง ์ํ๋ผ๋ฉด .slideDown() ๋ฉ์๋์ ๋์์ ์ํํ๊ณ ,
๋ํ๋ ์๋ ์ํ๋ผ๋ฉด .slideUp() ๋ฉ์๋์ ๋์์ ์ํํ๋ค.
$(document).ready(function () {
$(".title").click(function () {
$(".text").not($(this).next(".text").slideToggle(300)).slideUp();
});
});
.not ๋ฉ์๋๋ .text์ค์์ ์ง๊ธ ๋๋ฅธ ๊ฒ = ($(this)) ์ ๋ค์(.next) .text๋ slideToggleํ๊ณ ,
์๋๊ฒ์ slideUpํด์ ์ ์ด๋ฒ๋ฆผ.
๋ฐฉ๋ฒ 3 / ์ผํญ์ฐ์ฐ์
$(document).ready(function () {
$(".title").click(function () {
function slideDown(target) {
slideUp();
$(target).addClass("active").next().slideDown();
}
function slideUp() {
$(".title").removeClass("active").next().slideUp();
}
$(this).hasClass("active") ? slideUp() : slideDown($(this));
});
});
slideDown ํจ์์ slideUpํจ์ ์ ์ธ.
>> slidedown์ ๋ค slideupํ ํ์,
active๋ผ๋ ํด๋์ค ์ฃผ๊ณ , ๋ค์์์(=.text)๋ฅผ slidedownํ๊ธฐ.
slideup์ activeํด๋์ค๋ฅผ ์์ ๊ณ , ํด๋น์์ ๋ค์์์(=.text)๋ฅผ slideup
๊ฒฐ๊ตญ ์ธ ๋ฐฉ์ ๋ชจ๋ ์๋ฆฌ๋ ๊ฐ์.
(ํด๋ฆญํ๊ฑฐ, ์ฆ $this์ .text๋ถ๋ถ(=next)์ slideToggle์ด๋ down์ด๋ ํ๊ณ ,
๋๋จธ์ง h2์ .text๋ถ๋ถ์ ๋ค slideUpํ๊ธฐ.)
'PRACTICE > SELF' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
practice - js ) ์ฌ๋ผ์ด๋ ํ์ด์ง (1) ๋ฒํผํ (0) | 2022.03.11 |
---|---|
practice - css / js ) Tab Menu (0) | 2022.03.11 |
practice - css / jquery ) j์ฟผ๋ฆฌ๋ก ์์ฝ๋์ธ๋ฉ๋ด ๋ง๋ค๊ธฐ (0) | 2022.03.10 |
practice - css / js ) j์ฟผ๋ฆฌ ์์ด ์์ฝ๋์ธ๋ฉ๋ด ๋ง๋ค๊ธฐ (0) | 2022.03.10 |
CSS - Animation practice (0) | 2022.03.01 |