Javascript jQuery hover()以及如何使其无缝工作
我有以下代码来实现旋转木马,当用户随机执行悬停几秒钟时,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
$('#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();
}
}