Как уже отмечали другие, setInterval и setTimeout сделают свое дело.Я хотел бы выделить немного более продвинутую технику, которую я выучил из этого отличного видео Пола Ирриша: http://paulirish.com/2010/10-things-i-learned-from-the-jquery-source/
Для периодических задач, которые могут закончиться с более длительным интервалом, чем интервал повторения (например, HTTP-запрос на медленномсоединение) лучше не использовать setInterval()
.Если первый запрос не выполнен, и вы запускаете другой, вы можете оказаться в ситуации, когда у вас есть несколько запросов, которые используют общие ресурсы и лишают друг друга ресурсов.Вы можете избежать этой проблемы, ожидая планирования следующего запроса, пока не будет выполнен последний:
// Use a named immediately-invoked function expression.
(function worker() {
$.get('ajax/test.html', function(data) {
// Now that we've completed the request schedule the next one.
$('.result').html(data);
setTimeout(worker, 5000);
});
})();
Для простоты я использовал обратный вызов успеха для планирования.Обратной стороной этого является то, что один неудачный запрос остановит обновления.Чтобы избежать этого, вместо этого вы можете использовать полный обратный вызов:
(function worker() {
$.ajax({
url: 'ajax/test.html',
success: function(data) {
$('.result').html(data);
},
complete: function() {
// Schedule the next request when the current one's complete
setTimeout(worker, 5000);
}
});
})();