2013-12-02 2 views
2

Helllo, у меня есть функция, которая должна выполняться каждые 10 секунд. Вот как это работает:JQuery setInterval выполнить на странице load

setInterval(function() { 

}, 10000); 

Проблема заключается в том, что мне нужно это функция, которая будет выполняться один раз при загрузке страницы - теперь первое исполнение происходит только через 10 секунд. Можно ли делать то, что я хочу, с помощью setInterval, или есть еще одна функция?

Благодарим вас за внимание!

+5

Назовите функцию и вызовите ее в обоих местах. –

+0

Вам дали ответы, которые предлагают использовать setInterval или setTimeout. setInterval проще управлять, если вы хотите отменить повторение. – Popnoodles

+0

@popnoodles Они могут быть отменены аналогичным образом; это просто вопрос сохранения последнего интервала или тайм-аута «ручка» и очистки его при необходимости. –

ответ

5

Это самый очевидный способ:

var myFunction = function() { 

}; 

myFunction(); 
setInterval(myFunction, 10000); 

В качестве альтернативы, используйте setTimeout():

(function foo() { 
    // do stuff here 
    setTimeout(foo, 10000); 
})(); 
1

Попробуйте это:

<script type="text/javascript"> 

    var fnc=function(){ 
     /* do your stuff here */ 
     setTimeout(fnc, 1000); 
    }; 

    $(document).ready(function(){ 
     fnc(); 
    }); 

</script> 
1

Вы должны назвать функцию, которую вы хотите выполнить, как:

function myFunction() { 

} 

setInterval(myFunction, 10000); 

Вот туРипсЫоп функция, которая выполняется каждые 10 секунд. Вызов на последней строке

2

Там может быть лучше, но это будет работать:

$(document).ready(function() { 
    var readyNow = 0; 

    //Runs immediately, waiting ten secs before setting flag to true 
    setTimeout(function(){ 
     readyNow++; 
    },10000); 

    //Starts immediately, but flag won't be true for first ten seconds 
    setInterval(function() { 
     if (readyNow==1) { 
      //do your code 
     } 
    }, 10000); 

}); //END document.ready() 
Смежные вопросы