2010-03-09 6 views
2

나는 다음과 같은 jQuery를 가지고 : 나는 #toolbar 위에 마우스를 올려 때 (배경은 CSS에서 설정)을 .logo 배경 페이드 아웃jQuery를 - Fadein 한 번만

$("#toolbar").hover(function() { 
    $(".logo").fadeOut("slow", function() { 
    $(this).addClass("logohover") 
     $(this).parent().addClass("logohover").fadeIn("slow", function() { 
      $(".logo").fadeIn("slow"); 
     }); 
    }); 

}); 

<div id="toolbar"> 
<div class="logo"> 
    &nbsp; 
</div> 
</div> 

, 다음 .logohover에 클래스를 변경하고 페이드 CSS에서 설정 한 다른 배경을 다시 사용하십시오.

그러나 커서를 #toolbar에서 끈 다음 다시 도구 모음 위로 가져 가면 .hoverlogo 페이드 인/아웃이됩니다.

<div>.logohover으로 설정하면 마우스 오버시 페이드 아웃하지 않기를 바랍니다.

jQuery를 조정하려면 어떻게해야합니까? 또는 더 나은 효과를 얻을 수 있도록 jQuery를 조정 하시겠습니까?

답변

1

문제는 이벤트 처리기가 여전히 있으며 그에 따라 반응한다는 점입니다.

당신은

if ($('.logo').hasClass('logohover')) return 
:, 즉를 요소의 클래스 이름을 확인하고 취소하는 이벤트 처리기에 체크를 추가하는 시도 할 수
관련 문제