Description
anchorBtn : 탭버튼 ex) <img src="aaa/bbb/img_off.png" alt="" class="anchorBtn"/>
dataDiv : 활성화 대상을 감싸는 div ex) <div class="dataDiv">
<div>대상1</div>
<div>대상2</div>
<div>대상3</div>
</div>
Constraint
1. 탭버튼의 순서와 활성화 대상의 순서가 같아야한다.
2. 이미지 hover시 변경될 이미지의 src가 변경이 용이해야한다.
ex) 아래 예제에서는 img_on.png, img_off.png 이기에 replace로 변경이 용이했다.
$(function() {
$('.anchorBtn').click(function(){
var target_index = $('.anchorBtn').index(this);
$('.anchorBtn').each(function(index, element){
var thisSrc = $(this).attr('src');
var onSrc = thisSrc.replace('_off','_on');
var offSrc = thisSrc.replace('_on','_off');
if(target_index == index){
$(this).attr('src',onSrc);
$('.dataDiv div').eq(index).css('display','block');
}else{
$(this).attr('src',offSrc);
$('.dataDiv div').eq(index).css('display','none');
}
});
});
$(".anchorBtn").mouseover(function(){
var tab_idx = $(".anchorBtn").index(this);
var thisSrc = $(this).attr('src');
var onSrc = thisSrc.replace('_off','_on');
var offSrc = thisSrc.replace('_on','_off');
if($(".dataDiv div").eq(tab_idx).css("display") == "none"){
$(this).attr("src",onSrc);
}
});
$(".anchorBtn").mouseout(function(){
var tab_idx = $(".anchorBtn").index(this);
var thisSrc = $(this).attr('src');
var onSrc = thisSrc.replace('_off','_on');
var offSrc = thisSrc.replace('_on','_off');
if($(".dataDiv div").eq(tab_idx).css("display") == "none"){
$(this).attr("src",offSrc);
}
});
});
'Development > Javascript, jQuery' 카테고리의 다른 글
[javascript] 'yyyy-MM-dd' 날짜형식 변환하기 (0) | 2017.09.13 |
---|---|
페이지 로드후 호출 함수 (0) | 2017.07.11 |
[javascript] 고정 레이어 스크립트 처리 (0) | 2017.06.16 |
[jQuery] Slick 예제 및 사용하기 (0) | 2017.06.13 |
[Jquery] selector 정리 (셀렉터) (0) | 2017.05.29 |