每15秒运行一次JavaScript代码

时间:2012-02-18 11:12:41

标签: javascript jquery loops

我一直在尝试使用jQuery在我的网页中显示随机引用。但是while(true) { }方法并没有解决我的问题,但是当我搜索一下时,我发现不建议这样做。

我有一个包含一些字符串的JavaScript数组。

var quotes = new Array();
quotes[0] = "string 1";
quotes[1] = "string 2";
quotes[2] = "string 3";
quotes[3] = "string 4";

此代码效果很好:

$(function() {
    var random_quote = quotes[Math.floor(Math.random() * quotes.length)]; 
    var $rand = $('div#randomQuote');
    $rand.append(random_quote);
    $rand.hide();
    $rand.fadeIn("500");
});

但是,我尝试每15秒运行一次以更新报价。

正如我所说,我尝试了一段时间的真循环和睡眠功能,但它没有用。

我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:7)

使用setInterval

setInterval(yourFunction, timeInMilliseconds);

function randomQuote () {
    var random_quote = quotes[Math.floor(Math.random() * quotes.length)]; 
    var $rand = $('div#randomQuote');
    $rand.append(random_quote);
    $rand.hide();
    $rand.fadeIn("500");
}

$(function () {
    setInterval(randomQuote, 15000);
});

答案 1 :(得分:1)

var quotes = ["string 1", "string 2", "string 3", "string 4"];

$(function() {

    function doQuote() {
        var random_quote = quotes[Math.floor(Math.random() * quotes.length)]; 
        var $rand = $('div#randomQuote');
        $rand.append(random_quote);
        $rand.hide();
        $rand.fadeIn("500");
    }

    setInterval(function() { doQuote() }, 150000); 
});

使用new Array()构造函数被认为是不好的做法,定义数组文字是首选方法。

相关问题