首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >fadeOut在setTimeout中的时序问题

fadeOut在setTimeout中的时序问题
EN

Stack Overflow用户
提问于 2018-09-23 03:11:18
回答 2查看 246关注 0票数 0

我的jQuery代码有问题。

在“开始”中,它显示具有混叠效果的文本,然后在11秒后淡出,并再次执行此操作。过了一段时间,我在洗牌效应一开始就得到了fadeOut效应。

他们似乎在不同的时间线上运行。

代码语言:javascript
复制
$( document ).ready( function(){

     function textShuffle() {
        $( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
        setTimeout( textShuffle, 12000 );
     }
     textShuffle();

});

我该怎么解决这个问题。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-23 05:34:15

在删除了.shuffleLetters()脚本之后,@alexander就可以正常工作了,我意识到这个函数需要超过600 it的时间才能完成,而且我无法确定它需要多少时间来完成任务。

因此,现在我在调用setTimeout()之前向#text添加了诺言()

代码语言:javascript
复制
function textShuffle() {
    $( "#text" ).shuffleLetters().fadeIn().delay( 11000 ).fadeOut( 400 );
    $( "#text" ).promise().done( function(){
            setTimeout( textShuffle, 1 );
    });
 }
票数 0
EN

Stack Overflow用户

发布于 2018-09-23 04:17:04

也许您应该在fadeOut完成之后调用递归方法,如下所示:

代码语言:javascript
复制
$( document ).ready( function() {

    function textShuffle() {
        $("#text").shuffleLetters().fadeIn().delay(11000).fadeOut(400, Function() {
            setTimeout(textShuffle, 12000);});
    }

    textShuffle();
});
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52462629

复制
相关文章

相似问题

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