Запуск кода JavaScript каждые 15 секунд - PullRequest
2 голосов
/ 18 февраля 2012

Я пытался показать случайную цитату на своей веб-странице с помощью 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 ]

7 голосов
/ 18 февраля 2012

Использование 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 голос
/ 18 февраля 2012
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() считается плохой практикой, и определение литерала массива является предпочтительным методом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...