1

我有这个 jQuery 代码:

$("#people td, #list td").hover(function() {
    $(this).stop().animate({
        backgroundColor: "#444"
    }, "fast");
    $(this).find(".controls").stop().fadeIn("fast");
}, function() {
    $(this).stop().animate({
        backgroundColor: "#333"
    }, "fast");
    $(this).find(".controls").stop().fadeOut("fast");
});

$("#list .controls").hide();

.controls是一个 div,其中包含一些与条目一起使用的链接(例如,页面上有 10 个条目)。直到这一刻一切都有效,现在它不再有效了。当我打开页面时,.controls隐藏 - 没关系。但是当我将鼠标悬停在td, css 动画上时,fadeIn 没有。第二个函数中的 fadeOut 也是如此(当触发 mouseleave 事件时)。

HTML如下:

<td>
    <div class="icons">

</div>
<div class="profile">
    <div class="info">
    <div class="name">

            </div>
        </div>
        <div class="controls">
    <a href="http://...">Link</a>
            <a href="http://...">Link</a>
        </div>
        <div class="clear"></div>
</div>
</td>
4

1 回答 1

0

这很奇怪。我在 .find(".controls") 之后删除了 .stop() ,现在它可以工作了。小问题是,当您将鼠标悬停进出几次时,动画会再运行几次。

于 2012-12-18T20:40:11.990 回答