2010-03-09 2 views
2

У меня есть следующие JQuery: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> 

Когда я парить над #toolbar выцветает на .logo фон из (Фон установлен в CSS), затем изменяет класс .logohover и исчезает его назад с другим фоном, установленным в CSS.

Однако, когда я затем перемещаю курсор на #toolbar, а затем наведите указатель мыши на панель инструментов .hoverlogo fade in и out.

Когда <div> установлено на .logohover Я не хочу, чтобы он исчезал при наведении.

Как настроить jQuery для достижения этого? ИЛИ настроить мой jQuery, чтобы я получил лучший эффект?

ответ

1

Проблема в том, что обработчики событий все еще существуют и будут соответственно реагировать.

Вы можете попробовать добавить проверку в обработчик событий, чтобы проверить имя класса элемента и прервет, т.е .:

if ($('.logo').hasClass('logohover')) return 
Смежные вопросы