๋ชฉ์ฐจ
jquery .sort() ํจ์๋ฅผ ํ์ฉํ ์์ ์ด๋๊ณผ ์ ๋ ฌ
์๊ฐ
์ด๋ฒ ํฌ์คํ
์์๋ jQuery์ .sort()
ํจ์๋ฅผ ํ์ฉํ์ฌ ์์๋ฅผ ์ด๋ํ๋ฉด์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ์์๋ณด๊ฒ ์ต๋๋ค. ํนํ, ๋ถ์๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ ๋ชฉ๋ก์์ ํน์ ์์๋ฅผ ์ ํํ์ฌ ๋ค๋ฅธ ๋ชฉ๋ก์ผ๋ก ์ด๋ํ ํ, ํด๋น ๋ชฉ๋ก์ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ๋ํด ๋ค๋ฃฐ ๊ฒ์
๋๋ค.
์ํฉ ์ค์
๊ฐ์ ํด๋ด ์๋ค. ์ฌ๋ฌ ๋ถ์๋ฅผ ๋ํ๋ด๋ ๋ชฉ๋ก์ด ์๊ณ , ์ฐ๋ฆฌ๋ ์ฌ์ฉ์๊ฐ ์ ํํ ๋ถ์๋ฅผ ๋ค๋ฅธ ๋ชฉ๋ก์ผ๋ก ์ด๋์ํจ ํ, ๊ทธ ๋ชฉ๋ก์ ์์๋๋ก ์ ๋ ฌํ๊ณ ์ ํฉ๋๋ค. ์๋ฅผ ๋ค์ด, '๋์งํธ ๋ฏธ๋์ด' ํ๋ค์ ๋ชฉ๋ก์ ๊ฐ์ง๊ณ ์๋ค๊ณ ๊ฐ์ ํด๋ณด๊ฒ ์ต๋๋ค.
๋จผ์ ๋ณต์ฌ ์ด๋์ ํด๋ฆญ ์ด๋ฒคํธ ๋ฐ์๊ณผ ๋์์ .appendTo() ํจ์๋ก ์ด๋๋๋ค.
์ด ์์์์๋ jQuery์ .sort() ํจ์๋ฅผ ํ์ฉํ์ฌ ๋ถ์ ์ด๋๊ณผ ์ํธ ์ ๋ ฌ์ ๊ตฌํํ๋ ๋ฐฉ๋ฒ์ ๋ค๋ฃน๋๋ค. '๋ถ์๋ชฉ๋ก'๊ณผ '์ ํ๋ ๋ถ์'๋ผ๋ ๋ ๊ทธ๋ฃน์ UL๊ณผ LI ์์๋ฅผ ์ฌ์ฉํ์ฌ ๊ตฌ์ฑํ๊ณ , ๋ฐ์ดํฐ ์์ฑ data-sid๋ฅผ ํ์ฉํ์ฌ ๊ฐ ๋ถ์๋ฅผ ์๋ณํฉ๋๋ค. ์ฌ์ฉ์๋ '๋ถ์๋ชฉ๋ก'์์ ์ํ๋ ๋ถ์๋ฅผ ์ ํํ๋ฉด ํด๋น ๋ถ์๊ฐ '์ ํ๋ ๋ถ์'๋ก ์ด๋ํ๋ฉฐ, ์ดํ์๋ ์ ํ๋ ๋ถ์๋ค์ด ์์๋๋ก ์ํธ ์ ๋ ฌ๋ฉ๋๋ค.
HTML ๊ตฌ์กฐ
์๋๋ ์ฐ๋ฆฌ๊ฐ ๋ค๋ฃฐ HTML ๊ตฌ์กฐ์ ๋๋ค.
<div class="sectionWrap">
<div class="choiceGroup ">
<h6>๋ถ์๋ชฉ๋ก</h6>
<div class="scrollHere choiceGroup1">
<ul>
<!-- ๋ถ์ ๋ชฉ๋ก์ด ์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋๋ค -->
</ul>
</div>
</div>
<div class="toRightArr"></div>
<div class="choiceGroup">
<h6>์ ํ๋ ๋ถ์</h6>
<div class="scrollHere choiceGroup2">
<ul>
<!-- ์ ํ๋ ๋ถ์ ๋ชฉ๋ก์ด ์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋๋ค -->
</ul>
</div>
</div>
</div>
jQuery ์คํฌ๋ฆฝํธ
$(document).ready(function () {
$(document).on('click', '.choiceGroup1>ul>li', function () {
$(this).appendTo('.choiceGroup2>ul');
sortLi('.choiceGroup2');
});
$(document).on('click', '.choiceGroup2>ul>li', function () {
$(this).appendTo('.choiceGroup1>ul');
sortLi('.choiceGroup1');
});
function sortLi(e) {
$(e + '>ul>li').sort(function (a, b) {
return parseInt(a.dataset.sid) - parseInt(b.dataset.sid);
}).appendTo(e + '>ul');
}
});
์คํ์ผ๋ง
/* ์คํ์ผ๋ง ๋ด์ฉ์ ์ฌ๊ธฐ์ ๋ค์ด๊ฐ๋๋ค */
์์ฝ
์ด๋ ๊ฒ jQuery์ .sort()
ํจ์์ .appendTo()
ํจ์๋ฅผ ํ์ฉํ์ฌ ๋ถ์๋ ํธ๋ฆฌ ๊ตฌ์กฐ์ ๋ชฉ๋ก์์ ์์๋ฅผ ์ ํํ๊ณ ๋ค๋ฅธ ๋ชฉ๋ก์ผ๋ก ์ด๋ํ ํ ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฐํด๋๋ ธ์ต๋๋ค. ์ด๋ฅผ ํตํด ์ฌ์ฉ์๊ฐ ์ ํํ ์์๋ค์ ์ํ๋ ์์๋๋ก ๋ณด๋ค ์ฝ๊ฒ ์ ๋ฆฌํ ์ ์์ต๋๋ค.
์ฃผ์์ฌํญ
- ์ด ์์ ๋ jQuery๋ฅผ ์ฌ์ฉํ ๊ฐ๋จํ ์์๋ก, ์ค์ ํ๊ฒฝ์์๋ ๋ ๋ค์ํ ๊ธฐ๋ฅ๊ณผ ์์ธ ์ฒ๋ฆฌ๊ฐ ํ์ํ ์ ์์ต๋๋ค.
- CSS ์คํ์ผ๋ง ๋ถ๋ถ์ ์๋ต๋์์ผ๋, ์ํ๋ ๋์์ธ์ ๋ง๊ฒ ์ถ๊ฐํด์ผ ํฉ๋๋ค.
ํฌ์คํ ์ด ๋ง๋ฌด๋ฆฌ๋์์ต๋๋ค.
๋๊ธ