2012-07-11 7 views
1

jQuery 탭을 사용하고 있으며 텍스트 대신 각 탭의 이미지를 사용하고 있습니다. 탭이 활성화되어있을 때 이미지를 변경하고 싶습니다. 탭 자신의 코드는 다음과 같습니다탭이 활성화되어있을 때 jQuery 탭에서 이미지를 어떻게 변경합니까?

<ul> 
<li><a href="#tabs-1"><img src="images/dashboard_off.gif"/></a></li> 
<li><a href="#tabs-2"><img src="images/advertising_off.gif"/></a></a></li> 
<li><a href="#tabs-3"><img src="images/marketing_off.gif"/></a></li> 
<li><a href="#tabs-4"><img src="images/office_off.gif"/></a></li> 
<li><a href="#tabs-5"><img src="images/networking_off.gif"/></a></li> 
<li><a href="#tabs-6"><img src="images/education_off.gif"/></a></li> 
</ul> 

난에 그 전환하고자하는 이미지의 버전 (등등 "이미지/dashboard_on.gif"등) "의".

내 스크립트입니다 :

<script type="text/javascript"> 
$(function(){ 
    $("#tabs").tabs({ 
    event: "mouseover" 
    }); 
    }); 
</script> 

어떤 도움도 대단히 감사하겠습니다!

+0

당신은 어떤 탭 플러그인을 사용하고 있습니까? 그렇다면 어떤가? –

+0

jQuery tabs : ' < 스크립트 유형 = "텍스트/자바 스크립트"> $ (함수() { \t $ ("#tabs") .tabs ({ \t 이벤트 : "마우스 오버" \t}); \t}); ' –

+0

Ah, jQueryUI의 탭. 마우스를 올리거나 이벤트를 클릭 하시겠습니까? –

답변

-1

인라인 이미지를 사용하는 대신 배경 이미지 사용을 고려해 볼 수 있습니다. 그런 식으로 .ui-state-active에서 전환 할 수 있습니다. 당신이 절대적으로 인라인 이미지를 사용해야하는 경우


, 당신이 시도 할 수 :

$(function(){ 
    $("#tabs").tabs({ 
     event: "mouseover" 
    }) 
    .find('> ul > li').hover(function() { 
     $(this).find('img').prop('src', function(i, v) { 
      return v.replace('off.gif', 'on.gif'); 
     }); 
    }, 
    function() { 
     $(this).find('img').prop('src', function(i, v) { 
      return v.replace('on.gif', 'off.gif'); 
     }); 
    }); 
}); 
+0

그러나 문제는 단순히 "호버 (hover)"이상의 의미로 "켜기"이미지가 필요하다는 것입니다. 마우스가 맴돌 았을뿐만 아니라 탭이 활성 상태임을 인식하는 스크립트가 필요합니다. –

+0

@MattB - 여전히 자바 스크립트에 의해 트리거됩니다 ... –

관련 문제