首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在尝试淡入和淡出setTimeout文本时遇到困难

在尝试淡入和淡出setTimeout文本时遇到困难
EN

Stack Overflow用户
提问于 2018-09-12 21:38:17
回答 2查看 170关注 0票数 1

为了我的职责,我一直在想办法淡出和淡出文字。我对javascript还不熟悉,所以我真的想不出其他方法了。我的代码仍然很难刷新,即使我添加进和出,所以我是在寻求帮助。谢谢

代码语言:javascript
复制
var words = [
"Aaron",
"John",
"Megan"
];

index = 0;
function wordslide(){
    setTimeout(function(){
        $('.title-case:eq(0)').html('<div class="img-title">'+words[index]+'</div>').fadeIn();
    });
    index++;
    if (index == words.length) { index = 0}
        setTimeout(wordslide, 2000);
}
wordslide();
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-12 22:00:37

元素在创建时是完全可见的。尝试在.hide()之前添加.fadeIn(),这应该会使名称褪色。

代码语言:javascript
复制
$('.title-case:eq(0)').html('<div class="img-title">'+words[index]+'</div>').hide().fadeIn();
票数 3
EN

Stack Overflow用户

发布于 2018-09-12 22:14:24

看起来,您要寻找的不是setTimeout,而是设定间隔。这可能有助于清理代码的一些复杂性。

在此之后,只需调用hide或fadeOut,就像Tschitsch建议的那样,在fadeIn之前调用。

使用setInterval,我们可以将您的函数重写为:

代码语言:javascript
复制
var words = [
"Aaron",
"John",
"Megan"
];

index = 0;

var myWordFadeInterval = setInterval(function(){
wordslide();
}, 2000);

function wordslide(){
        $('.title-case:eq(0)').html('<div class="img-title">'+words[index]+'</div>.fadeOut(1000).fadeIn(1000)');
        index++;
        if (index == words.length) 
          index = 0
}


//when you want to stop your interval call:
//clearInterval(myWordFadeInterval);

fadeIn/fadeOut的第一个参数是time 更多信息

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

https://stackoverflow.com/questions/52303837

复制
相关文章

相似问题

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