티스토리 뷰
WebPublisher/JavaScript & jQuery
[javaScript] data set 활용해 jquery 없이 탭메뉴 만들기
amanda 2025. 6. 23. 14:04<div class="tab_wrap">
<!-- tab menu -->
<ul class="tabs">
<li class="tab_item active"><a href="#n" class="tab_link" data-tab="tabCnt01"></a></li>
<li class="tab_item"><a href="#n" class="tab_link" data-tab="tabCnt02"></a></li>
</ul>
<!-- tab contents -->
<div class="tab_cnt active" data-order="tabCnt01">
</div>
<div class="tab_cnt" data-order="tabCnt02">
</div>
</div>
.tab_cnt{display: none;}
.tab_cnt.active{display: block;}
const tabMenu = document.querySelectorAll('.tabs li');
const tabBtn = document.querySelectorAll('.tab_link')
const tabCont = document.querySelectorAll('.tab_cnt');
tabBtn.forEach(function(e){
e.addEventListener('click', () => {
const dataTab = e.dataset.tab;
tabMenu.forEach(function(i){
i.classList.remove('active');
});
e.parentNode.classList.add('active');
tabCont.forEach(function(item){
let dataOrder = item.dataset.order;
if(item.dataset.order === dataTab){
item.classList.add('active');
}else{
item.classList.remove('active');
}
})
})
})
참고
'WebPublisher > JavaScript & jQuery' 카테고리의 다른 글
| [javaScript] 자바스크립트로 탭 구현 (2) | 2025.08.04 |
|---|---|
| [javaScript] select box 여러개 만들기 (data set 사용) (0) | 2025.06.27 |
| [swiper] grid 레이아웃 스와이퍼 (0) | 2025.06.19 |
| [lottie] lottie 라이브러리 활용해 data-type별로 다른 lottie 애니메이션 적용하기 (0) | 2025.06.08 |
| [SVG] stroke-dasharray와 stroke-dashoffset을 활용한 파이 차트 프로그레스바 만들기 (0) | 2025.05.09 |
공지사항
