【发布时间】:2025-11-24 00:45:02
【问题描述】:
我正在尝试在 jQuery 中设置一个非常基本的悬停动画。鼠标悬停在一个 div 上,主要内容向下滑动,鼠标向上,它向上滑动。
<script type="text/javascript">
$(function () {
$('.listItem').hover(function () {
$(this).find('.errorData').slideToggle('slow');
});
});</script>
这段代码运行良好,但明显的问题是,如果您快速进出鼠标,动画会排队。
为了缓解这个问题,我读到 .stop(true) 函数放在 .slideToggle() 之前会停止前一个动画并清除动画队列。所以我尝试了这段代码:
<script type="text/javascript">
$(function () {
$('.listItem').hover(function () {
$(this).find('.errorData').stop(true).slideToggle('slow');
});
});</script>
我现在的问题是,这似乎只适用于第一个 mousein 和 mouseout。之后,动画不再触发,也没有任何反应。这是 Google Chrome DEV 频道。
您将鼠标移入和移出的速度似乎加剧了这种情况。
我似乎无法找出问题所在,这个 JSFiddle 有一个工作(并且在我的计算机上中断)示例。
编辑:我怀疑这是 jQuery 1.4.2 中的错误并已提交错误票:http://dev.jquery.com/ticket/6772
【问题讨论】:
标签: javascript jquery