как перезагрузить блок кода JavaScript - PullRequest
1 голос
/ 28 сентября 2010

Мне нужно каждый раз перезагружать блок javascript .. скажем

<script type="text/javascript">
    var frame = some sort of code;
</script>

мне нужно, чтобы этот блок любой функции перезагружался каждые 15 секунд без перезагрузки самой страницы ... что-то вроде тайм-аута jQuery, но я не знаю, как его применить .. есть идеи?

Ответы [ 3 ]

1 голос
/ 28 сентября 2010
var frame;
setInterval(function() {
  frame = someSortOf.Code();
}, 15000);

Это будет выполнять предоставленную функцию каждые 15 секунд, устанавливая ваше значение.Обратите внимание, что var frame объявлено вне функции, что дает ей глобальную область действия и позволяет ей сохраняться после выполнения вашей функции.

На самом деле вам не следует «перезагружать» скрипт.Что вы действительно хотите сделать, так это просто запустить уже загруженный скрипт с заданным интервалом.

0 голосов
/ 28 сентября 2010
function foo() {
    // do something here

    if (needRepeat) {
        setTimeout(foo, 15000);
    }
}

setTimeout(foo, 15000);
0 голосов
/ 28 сентября 2010

Вы можете использовать setTimeout('function()', 15000); - поставить эту строку кода в конце function(), чтобы она снова вызывала себя через 15000 мс.

Другой способ - просто позвонить setInterval('function()', 15000);, и это будет вызывать ваш function() каждые 15000 мс.

Разница между первым и вторым состоит в том, что первый вызывает функцию через определенные миллисекунды (только один раз, поэтому вам нужно вставить ее в саму функцию), а второй просто вызывает функцию каждые n миллисекунд.

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