2011-02-10 9 views
1

빠른 1 -간단한 Jquery show hide 문제

나는 이미지 맵을 가지고 있으며, 롤백 할 때 롤백 된 영역과 관련된 숨기기 div를 표시하고자합니다.

다음 코드를 사용하면 선택한 영역에 마우스를 올렸을 때 div가 숨겨 질 때까지 마우스를 뺄 때까지 계속 작동합니다 - show 함수가 hide 뒤에 있더라도?

$(".part-sp").hover(
    function() { 
     $(".map-logo").hide(); 
    }, function() { 
     $(".map-sp").show(); 
    }  
); 

어떤 아이디어?

답변

3

질문을 올바르게 이해했는지 모르겠지만 hover() 방법에 대해 혼란스러워합니다. 첫 번째 인수는 마우스 오버시 수행 할 조치 여야하며 두 번째 인수는 마우스 아웃시 수행 할 조치 여야합니다. 그래서 마우스를 통해 표시하고 마우스 숨을, 함수는 다음과 같아야합니다

$(".part-sp").hover(
    function() { 
     $(".map-sp").show(); 
    }, function() { 
     $(".map-sp").hide(); 
    }  
); 
+1

좋은 주인 - 나는 나의 아침 coffe를 가질 필요가있다라고 생각한다 - 나는 이것에서 틀린 길을 주변에서보고 있었다! 감사. – squeaker

+0

@ 스케이 커 - 우리 모두 다 해냈습니다. 답을 올바른 것으로 만드는 것을 잊지 마십시오 (그것이 있다고 가정 할 때). –

0

을 나는 당신이() 표시를 호출 할 때 잘못된 요소를 표시하려고 생각합니다.

체크 아웃 결과 창 여기

0

http://jsfiddle.net/h9VK2/은 당신의 질문에 대해 약간의 혼란입니다. 당신은 그들이 마우스 위에있을 때 그것이 영구적으로 숨겨지기를 원하지 않는다고 말하고 있습니까? 아니면 페이드 아웃해야하고 다시 페이드 인해야합니까?

아니라 지금과 같은 코드가 정확하고 다시 올 다른 방법이 지정된 것을 @Andy,하지만 당신이 필요로하는 경우에 그냥 페이드 아웃 FadeIn 효과가 나는 몰라


$(".part-sp").hover(
    function() { 
     $(".map-sp").fadeOut().fadeIn(); 
    }, 
    function() { 
     $(".map-sp").show(); 
    } 
); 

를 사용하는 것입니다 그러나 이것은 도움이 될 수 있습니다. 페이드 플립 당신이 그것을 다른 방법으로 원한다면.