javascript - 如何将 fadeOut jQuery 属性与 Javascript 文本片段一起使用

标签 javascript jquery

http://api.jquery.com/fadeOut/ <- 淡出 API

我正在尝试学习 Javascript,并且一直在玩在 Codepen 上找到的一个片段。

我在尝试获取随机文本数组片段以使文本在转换到另一个文本对象时淡出时遇到问题。现在,数组循环并使用 Math.Random 函数 (5*1) 从数组中随机选择一个字符串,每次加载新文本对象时它都会淡入,但是我希望它淡出,但我不这样做我认为我没有正确利用 .fadeOut 属性。我怎样才能让文本淡出,让文本淡入淡出,而不是淡入,瞬间杀死?

var textTimer;
var inTransition = false;

startTimer();

function startTimer() {
clearTimeout(textTimer);
textTimer = setTimeout(changeTitle, 3500);
}


changeTitle();
var titleNumber = Math.floor(Math.random() * 5) + 1;
function changeTitle() {
var titleArray = [
    "Test1",
    "Test2",
    "Test3",
    "Test4",
    "Test5"
];
var tempTitleLength = titleArray.length - 1;

if (inTransition == false) {
    inTransition = true;
    titleNumber++;
    if (titleNumber > tempTitleLength){
        titleNumber = 0
    }
    $('.text').html(''); 
    $('.text').css({opacity: '0'});
    $('.text').html(titleArray[titleNumber]);
    $('.text').fadeOut(); 
    $('.text').stop().delay(0).animate({
        opacity: 1
        }, 1500, function() {
            inTransition = false;
            startTimer.()
        });
}

}

谢谢! :D

HTML 非常简单

 <div class="text"></div>

最佳答案

多个问题:

$('.text').html(''); 
$('.text').css({opacity: '0'});
$('.text').html(titleArray[titleNumber]);

您已经删除了 html('') 中的文本而不淡出, 将 css 不透明度设置为 0,没有任何延迟,设置 html 新文本没有任何动画。

还有一个语法错误startTimer.()我猜是拼写错误。

淡出完成后删除前 2 行并设置新文本。

在执行 fadeIn 之前,您还需要等待 fadeOut 完成。 因此,顺序是:淡出、设置新文本、淡入。 像这样:

    $('.text').fadeOut(1500, function () {
        $('.text').html(titleArray[titleNumber]);
        $('.text').fadeIn(1500, function () {
            inTransition = false;
            startTimer()
        });
    });

JSFiddle:http://jsfiddle.net/Dzyzw/

关于javascript - 如何将 fadeOut jQuery 属性与 Javascript 文本片段一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19473499/

相关文章:

javascript - 无法找到$在网页中的定义位置

javascript - 使用 jQuery 查找和替换 HTML

javascript - 存储递增的复选框(jQuery)

javascript - jQuery 上一张/下一张 slider --> 如何禁用第一张/最后一张幻灯片上的上一张/下一张?

jquery - 异常 nsresult : "0x805e0006 (<unknown>)" location when submitting changes using x-editable in yii

javascript - 导航栏定期出现和消失

通过 Id 移动图像的 JavaScript 简单错误

javascript - 一个类的 CSS 附加伪元素(之前、之后、+更多)

javascript - jqGrid数据到HTML5 localStorage

jquery - 如何使内容适合最小宽度,同时设置最大宽度?