【发布时间】:2011-12-17 06:34:24
【问题描述】:
我已经尝试过 stop(true,true)、stop(true) 和 clearQueue();但这不起作用。
我遇到了快速更换幻灯片的问题,我已经有了一些必须重置所有内容的功能,但它不起作用。
function reset(){
$('div').clearQueue();
$('#img').html('').css({'left':0,'right':0,'opacity':1,'z-index':1});
$('#img2').html('').css({'left':0,'right':0,'opacity':1,'z-index':1});
$('#place').html('');$('#place').html('<div id="img"></div><div id="img2"></div>');
}
但我认为这不会停止(或删除)动画上的 delay() 函数。所以我不知道我是否不必使用 setTimeout 函数。
这是一段动画脚本:
reset();
actual_slide=2;
$('#img').html('<img src="'+image[4]+'" alt="Obrázek">').css({'opacity':0,'z-index':2}).delay(time_delay/5).fadeTo(time_fast,1).delay(time_delay*2).fadeTo(time_fast,0);
$('#img2').html('<img src="'+image[3]+'" alt="Obrázek">').css({'opacity':'0','top':0}).fadeTo(time_fast,1).animate({'top':'-495'},time_delay*3,function(){
if(actual_slide==2){$('#img2').css({'top':0}).fadeTo(time_fast*2,0).html('');}else{reset();}
if(actual_slide==2){$('#img').html('<img src="'+image[3]+'" id="1" alt="Obrázek">').fadeTo(time_fast*2,'1').css({'left':-300,'top':-700}).animate({'left':-900,'top':-700},time_delay*2);}else{reset();}
if(actual_slide==2){$('#1').css({'width':1365,'height':1200}).animate({'width':1665,'height':1400},time_delay*2);}else{reset();}
});
actual_slide 必须在重复该功能之前对其进行保护,但这也不起作用。问题是当我快速更换幻灯片时,因为重置不会停止一切,它会开始做我不做的事情想拥有(比如把图片换成其他的和其他的)。
【问题讨论】:
-
bugs.jquery.com/ticket/6150 -- 看起来他们已经在 jQuery 1.7 候选版本中修复了这个问题。下载它并查看它是否能解决您的问题,或阅读错误报告以了解一些可能的解决方法。
-
我刚刚尝试过,它适用于 jQuery 1.8.3。
标签: jquery delay settimeout jquery-animate