0

我有以下代码行:

$(".product-list .product").hover(function() {
    $(this).find('.product-description').stop().slideDown("slow");
}, function() {
    $(this).find('.product-description').stop().slideUp("slow");
})

现在的问题是,当我移动得足够快,然后再次悬停元素时,.product-description 会卡在旧事件的高度上。

例如:

  1. 鼠标悬停:元素->动画->全高:200px
  2. mouseleave:元素 -> 动画停止 -> 动画 -> 高度:0(现在默认高度:100px)
  3. 鼠标悬停:元素->动画->全高:100px(但应该是200px)

是的,我已经尝试过获得正常高度 - 但问题是,我使用了 jQuery 无法真正处理的 clearfix。

感谢您的任何建议

4

1 回答 1

1

尝试像下面这样使用它,

$(".product-list .product").hover(function() {
    $(this).find('.product-description').stop(true, true).slideDown("slow");
}, function() {
    $(this).find('.product-description').stop(true, true).slideUp("slow");
})

.stop( [clearQueue] [, jumpToEnd] )

clearQueue一个布尔值,指示是否也删除排队的动画。默认为假。

jumpToEnd 一个布尔值,指示是否立即完成当前动画。默认为假。

于 2012-04-12T15:36:28.053 回答