Javascript $.slideToggle()&;$。hover()动画队列问题

Javascript $.slideToggle()&;$。hover()动画队列问题,javascript,jquery,Javascript,Jquery,我试图在jQuery中设置一个非常基本的悬停动画。将鼠标移到div上,主要内容向下滑动,将鼠标向上滑动 <script type="text/javascript"> $(function () { $('.listItem').hover(function () { $(this).find('.errorData').slideToggle('slow'); }); });</script> 我

我试图在jQuery中设置一个非常基本的悬停动画。将鼠标移到div上,主要内容向下滑动,将鼠标向上滑动

<script type="text/javascript">
    $(function () {
        $('.listItem').hover(function () {
            $(this).find('.errorData').slideToggle('slow');
        });
    });</script>
我现在的问题是,这似乎只适用于第一个鼠因和鼠尾。之后,动画不再触发,什么也不会发生。这是谷歌Chrome开发频道

这似乎是加剧了如何快速移动鼠标进出

我似乎不知道问题是什么,这有一个正在工作(并且在我的电脑上坏了)的例子

编辑:我怀疑这是jQuery 1.4.2中的一个bug,并提交了一份bug通知单:

试试看

.stop(true,true)

或者你可以用这个

像冠军一样工作:

  $('.subpage-block').hover(function(){

        $('.subpage-block-heading span', this).stop(true,true).fadeToggle('fast');

           $('.subpage-block-content', this).stop(true,true).slideToggle();

    });
也许更好

$('.listitem').hover(function(){
  if (!$(this).find('.errorData').hasClass('down') &&
      !$(this).find('.errorData').hasClass('up')) {
    $(this).find('.errorData').addClass('down').slideDown('fast', function() {
      $(this).removeClass('down');
    });
  }
}, function() {
  if (!$(this).find('.errorData').hasClass('up')) {
    $(this).find('.errorData').addClass('up').slideUp('fast', function() {
      $(this).removeClass('up');
    });
  }
});
这样,队列最多为2个,一个在上升时,另一个在下降时。
在第一种情况下,我们可以防止卧倒。

这种方法有效。它纠正了动画不再工作的问题,但它现在来回跳跃并闪烁,而不是平滑的动画。是的。。。真的会的。这是因为悬停的行为。。。嗯,你可以试试这个插件。。。我经常使用它,这个插件给了我很多我想要的功能。修改你的答案,我会这样做:)好吧,我很高兴它确实帮助了你:)这将如何改进、纠正或改变公认的答案?
  $('.subpage-block').hover(function(){

        $('.subpage-block-heading span', this).stop(true,true).fadeToggle('fast');

           $('.subpage-block-content', this).stop(true,true).slideToggle();

    });
$('.listitem').hover(function(){
  if (!$(this).find('.errorData').hasClass('down') &&
      !$(this).find('.errorData').hasClass('up')) {
    $(this).find('.errorData').addClass('down').slideDown('fast', function() {
      $(this).removeClass('down');
    });
  }
}, function() {
  if (!$(this).find('.errorData').hasClass('up')) {
    $(this).find('.errorData').addClass('up').slideUp('fast', function() {
      $(this).removeClass('up');
    });
  }
});