鼠标悬停在按钮上时的jQuery横幅取消功能

鼠标悬停在按钮上时的jQuery横幅取消功能,jquery,mouseenter,Jquery,Mouseenter,我有一个横幅,上面有3幅图片,我希望使用jQuery淡入淡出。我使用以下代码使此部分工作正常: $j(document).ready(function() { initBanner(); startLoop = setInterval(initBanner,50000); function initBanner(){ $j("##image1").delay(10000).fadeOut(1500, function(){ $j("##image2").f

我有一个横幅,上面有3幅图片,我希望使用jQuery淡入淡出。我使用以下代码使此部分工作正常:

$j(document).ready(function() { initBanner(); startLoop = setInterval(initBanner,50000); function initBanner(){ $j("##image1").delay(10000).fadeOut(1500, function(){ $j("##image2").fadeIn(1000, function(){ $j("##image2").delay(10000).fadeOut(1500, function(){ $j("##image3").fadeIn(1000, function(){ $j("##image3").delay(10000).fadeOut(1500, function(){ $j("##image1").fadeIn(1000); //inMotion = false; }); }); }); }); }); } 然而,下面的横幅是3个链接,其中有一个相关的图像。当我在按钮上输入鼠标时,我想将淡入淡出的图像更改为与按钮相关的图像

我已经尝试过了,但是这会在清除之前等待动画完成。我想要的是能够立即停止动画并在相对图像中淡入淡出

clearInterval(startLoop)
有什么想法吗?

您的方法看起来有点奇怪,无论如何,要立即停止所有当前动画,您需要对动画元素调用.stop方法。您应该传入两个参数,都设置为true,表示clearQueue&&jumpToEnd

function stopBanner() {
     clearInterval(startLoop);
     $('##image1, ##image2, ##image3').stop(true, true);
}
同样,您应该重新考虑您的代码。例如,缓存DOM引用在这里是一件非常重要的事情

参考号: