Javascript:文本更改之间的交叉淡入淡出文本?

标签 javascript jquery

我一直在尝试各种各样的事情,但作为 javascript 和 jquery 的新手,我似乎无法获得像这样工作一样微不足道的东西。我下面的代码可以正常工作,但我希望它能够在更改之间平滑地淡入淡出。

var texts = ["One", "Two", "Three", "Four"];
var count = 0;
function addText() {
    $("#user").text(texts[count]).fadeOut();
    $("#user").text(texts[count]).fadeIn();
    count < 4 ? count++ : count = 0;
}
setInterval(addText, 500);

最佳答案

var texts = ["One", "Two", "Three", "Four"];
var count = 0;
function addText() {
    $("#user").text(texts[count]).fadeOut().delay(1).fadeIn();
    count < 4 ? count++ : count = 0;
}
setInterval(addText, 500);

更新:

一个改进的函数,它从@adricadar 那里获取了一些提示

var texts = ["One", "Two", "Three", "Four"];
var count = 0;
var interval = 2000;

function addText() {
    $("#user").fadeTo(interval/2 -1, 0.01, function(){
       // this callback runs when fadeOut is finished
       // so that the text change is "invisible"
       $(this).text(texts[count]); 
    }).delay(1).fadeTo(interval/2, 1);
    // Note that arrays are zero indexed so "Four" would blink twice. 
    count < texts.length ? count++ : count = 0; 
}
setInterval(addText, interval);

http://jsfiddle.net/736vb5tk/1/

关于Javascript:文本更改之间的交叉淡入淡出文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26201321/

相关文章:

javascript - Bootstrap Vue 表 : show details when row clicked

到服务器的 Javascript TCP 连接

javascript - AJAX成功:function always returning success (and 200 status code),错误函数未触发

Javascript Promise 与 jQuery Deferred

javascript - Uncaught ReferenceError : deactivate_links is not defined

javascript - 如何简化 getter-setter 函数

javascript - 不适用于最新的 jquery 版本

php - 如何将渲染后的 PHP+HTML 代码导入到文本文件中?

javascript - 如何将我的项目分成两组?

javascript - 从 jquery 到 AngularJS 动画