Выполнить функцию без задержки при первой загрузке страницы и далее ее же в setInterval
Я хочу выполнить функцию без задержки при первой загрузке страницы и далее эту же функцию хочу выполнять в setInterval.
Сейчас при готовности документа функция showGraphTest выполняется, но при первой загрузке страницы всё равно приходится ждать 30 секунд до его появления.
$(document).ready(function () {
setInterval(function(){
showGraphTest();
}, 30000, true);
});
Подскажите пожалуйста, как сделать выполнение функции при первой загрузке страницы сразу а затем использовать setInterval?
Думал сделать цикл со счетчиком но что брать за основу, ума не приложу..
Ответы (2 шт):
$(document).ready(function () {
showGraphTest();
setInterval(function(){
showGraphTest();
}, 30000);
});
Либо
$(document).ready(function () {
showGraphTest();
});
function showGraphTest() {
...
...
...
setTimeout(function(){
showGraphTest();
}, 30000);
}
Дополню второй вариант из ответа Алексея Шиманского.
Можно написать короче:
$(function showGraphTest() {
// ...
setTimeout(showGraphTest, 30000);
});
$(func) это короткая запись для $(document).ready(func).
Функции-выражению можно задать имя которое будет доступно внутри этой функции, так что можно не объявлять функцию отдельно, если она больше нигде не используется.