jQuery技术:调用javascript函数后放置延迟的最佳方法

我正在使用jquery调用一些javascript函数,它们之间有延迟。
我也在使用Jquery Wait

当我调用下面的函数时,所有函数都被分别调用,彼此之间没有延迟。

$(this) .call(f1) .wait(5000) .call(f2) .wait(5000) .call(f3); 

这里调用函数调用一些函数,就像我一样

 $.fn.call = function (f) { if (f) f(); return this; }; 

我究竟做错了什么 ? 我怎样才能实现这样的目标?
谢谢

    如果你想每5秒钟调用一次function

     setTimeout(function(){f1},5000); setTimeout(function(){f2},10000); setTimeout(function(){f2},15000); 

    如果你想在最后一次终止使用后5秒钟调用每个function

     setTimeout(function(){f1;setTimeout(function(){f2;setTimeout(function(){f3},5000);},5000);},5000); 

    你不需要那个食谱中的wait() ; delay()是内置的,似乎具有相同的function。 但是任何一个函数都需要在jQuery的内部效果队列中添加一些内容,然后在超时到期后删除它,即它不是一个sleep语句,因此它不会在返回之前等待。

    如果你想使用delay()wait() ,你应该使call()用queue()对函数进行排队 。 只是草绘,但有类似的东西:

     $.fn.call = function(f) { if (f) { $(this).queue(function() { f(); $(this).dequeue(); } } return this; } 

    然后我希望你的代码按照你想要的方式工作。

    这是一个函数,它按顺序调用一个函数数组:

     $.fn.callFn = function(fns, delay) { var fn, that = this; if(fns.length > 0){ fn = fns.shift() fn && fn(); setTimeout(function(){ that.callFn(fns, delay); }, delay); } return this; }; 

    你会这样称呼它:

    需要了解更多jQuery教程分享调用javascript函数后放置延迟的最佳方法,都可以关注jQuery技术分享栏目—计算机技术网(www.ctvol.com)!

     $(this).callFn([f1, f2, f3], 2000); 

     $('#box').slideUp(300).delay(800).fadeIn(400); /* .delay = wait time = 800 (this means it will wait 800/1000 of a second/ "1000 = 1 second") */ 

      以上就是jQuery教程分享调用javascript函数后放置延迟的最佳方法相关内容,想了解更多jQuery开发(异常处理)及jQuery教程关注计算机技术网(www.ctvol.com)!)。

      本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

      ctvol管理联系方式QQ:251552304

      本文章地址:https://www.ctvol.com/jquerytutorial/982585.html

      (0)
      上一篇 2021年12月13日
      下一篇 2021年12月13日

      精彩推荐