我有以下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">
</div>
</div>
当我将鼠标悬停在#toolbar
上时,它会淡出.logo背景(在CSS中设置背景),然后将类更改为.logohover
并使用CSS中的其他背景集将其淡入淡出
然而,当我将光标移开#toolbar
然后将鼠标悬停在工具栏上时,.hoverlogo
淡入淡出。
当<div>
设置为.logohover
时,我不希望它在悬停时淡出。
如何调整我的jQuery来实现这个目标?或者调整我的jQuery以便获得更好的效果?
答案 0 :(得分:1)
问题是事件处理程序仍在那里并会作出相应的反应。
你可以尝试在事件处理程序中添加一个检查来检查元素的类名和中止,即:
if ($('.logo').hasClass('logohover')) return