【问题标题】:jQuery hover - div does not show upjQuery悬停 - div不显示
【发布时间】:2012-12-18 20:19:04
【问题描述】:

我有这个 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 hide - 没关系。 但是当我将鼠标悬停在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>

【问题讨论】:

  • 我需要查看您的 HTML,但我敢打赌,控件不是您每个 td 元素的子元素。也许?
  • 如果您发布了一个 jsfiddle 可能会有所帮助。 jsfiddle.net

标签: javascript jquery


【解决方案1】:

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

【讨论】:

  • 现在我把 .stop() 放回原来的位置,它也运行了.. o.O
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-12
相关资源
最近更新 更多