首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >jQuery delay() -如何停止?

jQuery delay() -如何停止?
EN

Stack Overflow用户
提问于 2011-10-28 20:30:08
回答 2查看 27.2K关注 0票数 22

我已经尝试了stop(true,true),stop(true)和clearQueue();但这不起作用。

我有快速改变幻灯片的问题,我已经有一些功能,必须重置一切,但它不工作。

代码语言:javascript
复制
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函数。

这是一段动画脚本:

代码语言:javascript
复制
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必须对其进行保护,但这也不起作用。问题是当我快速更换幻灯片时,因为重置不会停止一切,它会开始做我不想做的事情(比如将图片更改为其他和其他)。

EN

回答 2

Stack Overflow用户

发布于 2015-03-02 02:44:21

通过this post,有一种非常简单的方法,那就是用.animate代替.delay

票数 6
EN

Stack Overflow用户

发布于 2014-05-16 12:33:29

我希望用户一遍又一遍地快速重启动画链,有时是在动画的中间。因此,我没有使用delay(),而是使用了一个伪造的css属性{"null":1}。这是一个简单的淡入/淡出。看起来对我很有效!

代码语言:javascript
复制
//- fade in
$el.stop().animate({"opacity":1}, 200, "easeInSine", function(){
    //- delay for 2000ms
    $el.stop().animate({"null":1}, 2000, function(){
        //- fade out
        $el.stop().animate({"opacity":0}, 1000, "easeInOutSine", function(){
            //- final callback
        });
    });
});
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7929266

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档