jQuery - Fadein只有一次

时间:2010-03-09 16:07:43

标签: jquery

我有以下jQuery:

$("#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淡入淡出。

<div>设置为.logohover时,我不希望它在悬停时淡出。

如何调整我的jQuery来实现这个目标?或者调整我的jQuery以便获得更好的效果?

1 个答案:

答案 0 :(得分:1)

问题是事件处理程序仍在那里并会作出相应的反应。

你可以尝试在事件处理程序中添加一个检查来检查元素的类名和中止,即:

if ($('.logo').hasClass('logohover')) return