文本在setInterval javascript中几分钟后开始闪烁

时间:2017-10-14 07:56:38

标签: javascript jquery animation setinterval

我正在创建一个div,它在setInterval函数的帮助下每10秒更改一次文本。 它工作得非常好但是在5-6分钟后它开始以毫秒为单位改变它的文本,所以看起来它正在闪烁。

我的代码是:

var wordArray = ["TEXT1","TEXT2","TEXT3"];

function typingEffect() {
    var rand = Math.floor(Math.random()*3);
    $("#big-bob h5").text(wordArray[rand]);
    $("#big-bob h5").addClass("animate");
    setInterval(typingEffect,10000);
}

typingEffect();

1 个答案:

答案 0 :(得分:3)

每次执行typingEffect()功能......

时,您都会创建一个新的时间间隔
var wordArray = ["TEXT1","TEXT2","TEXT3"];

function typingEffect() {
    var rand = Math.floor(Math.random()*3);
    $("#big-bob h5").text(wordArray[rand]).addClass("animate");
}

setInterval(typingEffect,10000);
typingEffect(); // This last line is only needed if you want to execute the function
                // when page loads (otherwise, first execution will be after the
                // first 10 seconds)

要按照自己的方式进行,您应该使用setTimeout() ...

var wordArray = ["TEXT1","TEXT2","TEXT3"];

function typingEffect() {
    var rand = Math.floor(Math.random()*3);
    $("#big-bob h5").text(wordArray[rand]).addClass("animate");
    setTimeout(typingEffect,10000);
}

typingEffect();