0

我真的是 JS 和 Jquery 的新手,我正在尝试使用 slideDown 制作一个下拉菜单,但是当我在父链接中快速将鼠标悬停很多次时,事情就有点不对劲了。

这是代码:

jQuery(document).ready(function($) {
  $('li.parent').mouseenter(function() {
    $('.sub').slideDown('fast')
  });

  $('li.parent').mouseleave(function() {
    $('.sub').slideUp('fast')
  });
});

和 HTML

 <li class="parent">
   <span>Produtos</span>
    <ul class="sub">
    <div class="sub-bg">
        <li>
          <a href='produtos.php?categoria=9'>Banho</a>
        </li>
        <li>
          <a href='produtos.php?categoria=7'>Cama</a>
        </li>
     </div>
    </ul>
   </li>

这里是在线网站所以你们可以看到问题,只需将鼠标快速悬停在“Produtos”按钮上即可。

谢谢!

4

1 回答 1

1

如果我没有猜错你的问题,你只需要使用stop()就可以stop the currently-running animation on the matched elements了,它应该没问题:

jQuery(document).ready(function($) {
    $('li.parent').mouseenter(function() {
        $('.sub').stop().slideDown('fast')
    });

    $('li.parent').mouseleave(function() {
        $('.sub').stop().slideUp('fast')
    });
});​

演示:http: //jsfiddle.net/vGuHh/

于 2012-12-03T14:50:56.217 回答