当鼠标输入一个按钮时,jQuery Banner取消功能
我有一张带有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引用是一件非常重要的事情。
参考:.stop()
链接地址: http://www.djcxy.com/p/64757.html上一篇: jQuery Banner cancel function when mouseenter over a button
下一篇: JQuery fadeIn fadeOut with setInterval working sporadically