Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/453.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
Javascript jQuery hover()以及如何使其无缝工作_Javascript_Jquery_Carousel_Jquery Hover - Fatal编程技术网

Javascript jQuery hover()以及如何使其无缝工作

Javascript jQuery hover()以及如何使其无缝工作,javascript,jquery,carousel,jquery-hover,Javascript,Jquery,Carousel,Jquery Hover,我有以下代码来实现旋转木马,当用户随机执行悬停几秒钟时,jquery hover()将它们放入队列并执行所有操作。我希望旋转木马如何工作,只是执行最新的悬停 $('#broker_carousel_controls li a').hover(function (e) { e.preventDefault(); var t = $(this); var speed = 'fast'; $('#broker_ca

我有以下代码来实现旋转木马,当用户随机执行悬停几秒钟时,jquery hover()将它们放入队列并执行所有操作。我希望旋转木马如何工作,只是执行最新的悬停

$('#broker_carousel_controls li a').hover(function (e) {            
        e.preventDefault();
        var t = $(this);
        var speed = 'fast';
        $('#broker_carousel_controls li a.bcc_active').removeClass('bcc_active');
        var idx = $('#broker_carousel_controls li a').index(t);
        t.addClass('bcc_active');

        $('#broker_carousel li:visible').hide(speed, function () {

        });
        $('#broker_carousel li').eq(idx).show(speed, function () { 
            //busy = false;             
        });


    }, function () { });
在执行
隐藏
显示
功能之前,请尝试使用
.stop()
stop()
停止当前动画,以便立即开始下一个动画。我有时使用它来防止此类事件排队

$('#broker_carousel li:visible').stop().hide(speed, function () {
});
$('#broker_carousel li').eq(idx).stop().show(speed, function () { 
    //busy = false;             
});

在悬停事件中,可以保留需要显示的最后一项的变量。然后在回调函数中检查该变量以显示。如果你使用
时,他们只是疯狂地移动,并且没有口吃,那么最多可以显示/隐藏2次。stop()
我很快就写了以下内容,但是你应该明白了

$('#broker_carousel_controls li a').hover(CarouselHover
, function () { });

var lastQueue = null;
function CarouselHover(e)
{
        e.preventDefault();
        if (lastQueue == null)
        {
          lastQueue = this;
          StartHoverShow();
        }
        else
        {
          lastQueue = this;
        }
}

function StartHoverShow()
{
      if (lastQueue != null)
      {
        var t = $(lastQueue);
        lastQueue = null;
        var speed = 'fast';
        $('#broker_carousel_controls li a.bcc_active').removeClass('bcc_active');
        var idx = $('#broker_carousel_controls li a').index(t);
        t.addClass('bcc_active');

        $('#broker_carousel li:visible').hide(speed, function () {

        });
        $('#broker_carousel li').eq(idx).show(speed, function () { 
            //busy = false;  
           ShowCallback();
        });
      }
}

function ShowCallback()
{
  if (lastQueue != null)
  { 
    StartHoverShow();
  }
}