html
<div class="tab">
<ul>
<li class="active">
<a href="#" class="tab_menu">메뉴1</a>
<div class="tab_cont">
<a href="#" class="btn_more">더보기</a>
<ul class="list">
<li><a href="#">1리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
</ul>
</div>
</li>
<li>
<a href="#" class="tab_menu">메뉴2</a>
<div class="tab_cont">
<a href="#" class="btn_more">더보기</a>
<ul class="list">
<li><a href="#">2리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
</ul>
</div>
</li>
<li>
<a href="#" class="tab_menu">메뉴3</a>
<div class="tab_cont">
<a href="#" class="btn_more">더보기</a>
<ul class="list">
<li><a href="#">3리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
<li><a href="#">리스트 내용</a></li>
</ul>
</div>
</li>
</ul>
</div>
css
/* tab */
.tab{width: 100%;}
.tab>ul{position: relative;}
.tab>ul:after{content:"";display:block;clear:both}
.tab>ul>li{float: left;}
.tab_cont{position: absolute; width: 100%; top: 0; left: 0;}
.tab .tab_menu{position: relative; z-index: 99;}
/* 그 외 스타일은 자유롭게 */
javascript
// tab
$(document).ready(function () {
var $tab_list = $('.tab');
$tab_list.find('.tab_cont').hide();
$tab_list.find('li.active>.tab_cont').show();
$tab_list.each(function(){
var $this = $(this);
$this.height($this.find('li.active>.tab_cont').height()); // tab_cont가 absolute로 띄워져 있으므로 tab이 height값을 가지지 못함. active된 li의 tab_cont height값으로 강제 지정
});
function tabtoggle(){
var $this = $(this);
$this.siblings('.tab_cont').show();
$this.parent('li').addClass('active');
$this.parent('li').siblings('li').removeClass('active');
$this.parent('li').siblings('li').children(".tab_cont").hide();
return false;
}
$tab_list.find('.tab_menu').click(tabtoggle).focus(tabtoggle);
});
728x90
'퍼블리싱 > HTML | CSS | Javascript' 카테고리의 다른 글
코드작성규칙 (0) | 2023.05.12 |
---|---|
전체동의 체크박스 (회원가입 약관 등에 쓰임) (0) | 2023.05.12 |
브라우저 기본 스크롤바 커스텀 css (0) | 2023.05.12 |
스크롤 끝에서 컨텐츠 추가 (0) | 2023.05.12 |
카운팅 스크립트 (0) | 2023.05.12 |