Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/css/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 滑块在&;如果我翻滚多次,就结束了_Jquery - Fatal编程技术网

Jquery 滑块在&;如果我翻滚多次,就结束了

Jquery 滑块在&;如果我翻滚多次,就结束了,jquery,Jquery,我有以下代码: $(document).ready(function() { $('#nav li').hover( function() { // Show the sub menu $('ul', this).slideDown(300); }, function() { //hide its submenu $('ul', this).slideUp(200); }); }); 但是如果我

我有以下代码:

$(document).ready(function() {
    $('#nav li').hover(

    function() {
        // Show the sub menu
        $('ul', this).slideDown(300);
    }, function() {
        //hide its submenu
        $('ul', this).slideUp(200);
    });

});
但是如果我快速滚动导航菜单项,比如说50次。它会像循环一样持续显示动画(上下)50次

我尝试添加
.stop()
$('ul',this.stop().slideDown(300)-但它只是停止菜单显示。。。。那么,您有什么想法可以把它放在代码中的什么地方,或者用另一种方法来做吗?

命令停止当前在匹配元素上运行的动画,这正是您所需要的

在下面的代码片段中,我还提供了两个参数。这些是:

  • clearQueue一个布尔值,指示是否也删除排队的动画。默认为false
  • jumpToEnd一个布尔值,指示是否立即完成当前动画。默认为false
通常代码应该是这样的(我自己就是这样做的):

编辑:


我更新了代码,并将stop设置为使用true,true而不是true,false,这使菜单按预期工作。虽然它看起来有点矮胖,因为第二个参数迫使动画结束。

4个月,8个问题,0%被接受,0%有机会帮助你对不起,我不知道这是怎么回事!我现在就去感谢大家!您好,感谢您回复Jan,在第一次悬停后…子菜单/下拉菜单不再显示请将其发布到JSFIDLE,以便我们可以使用它。感谢Jan,给您…将它们翻转几次,您将看到下拉菜单停止工作-我很好,嘿…感谢您花时间帮助,谢谢。:-)
$(document).ready(function () {     
  $('#nav li').hover(function () {
    // Show the sub menu
    $('ul', this).stop(true,true).slideDown(300);
  }, 
  function () {
  //hide its submenu
    $('ul', this).stop(true,true).slideUp(200);         
  });
});