Каков самый простой способ вызова функции каждые 5 секунд в jQuery? [дубликат]
этот вопрос уже есть ответ здесь:
вызов функции каждые 60 секунд
8 ответов
JQuery, как вызвать функцию каждые 5 секунд.
Я ищу способ автоматизировать изменение изображений в слайд-шоу.
Я бы предпочел не устанавливать никаких других сторонних плагинов, если вероятный.
7 ответов:
вам не нужен jquery для этого, в простом javascript, будет работать следующее!
window.setInterval(function(){ /// call your function here }, 5000);чтобы остановить цикл, вы можете использовать
clearInterval()
вы можете зарегистрировать интервал на странице с помощью метода setInterval, т. е.:
setInterval(function(){ //code goes here that will be run every 5 seconds. }, 5000);
просто небольшой совет для первого ответа. Если ваша функция уже определена, ссылайтесь на функцию, но не вызывайте ее!!! Поэтому не ставьте скобки после имени функции. Так же, как:
my_function(){}; setInterval(my_function,10000);
функции, упомянутые выше, выполняются независимо от того, завершен ли он в предыдущем вызове или нет, этот запускается через каждые x секунд после завершения выполнения
// IIFE (function runForever(){ // Do something here setTimeout(runForever, 5000) })() // Regular function with arguments function someFunction(file, directory){ // Do something here setTimeout(someFunction, 5000, file, directory) // YES, setTimeout passes any extra args to // function being called }
хороший пример, где подписаться на setInterval (), и использовать clearInterval (), чтобы остановить цикл forever:
function myTimer() { console.log(' each 1 second...'); } var myVar = setInterval(myTimer, 1000);называть эту линию, чтобы остановить цикл:
clearInterval(myVar);
и
setIntervalиsetTimeoutможет работать для вас (как писали @Doug Neiner и @John Bokerтеперь выберите пунктsetInterval).
Смотрите здесь для более подробного объяснения о том, чтобы увидеть, какие люксы вы больше всего и как остановить каждый из них.
вы можете использовать окно.setInterval и время должны быть определены в миллисекундах, в приведенном ниже случае функция будет вызывать после каждой секунды (1000 милисекунд)
<script> var time = 3670; window.setInterval(function(){ // Time calculations for days, hours, minutes and seconds var h = Math.floor(time / 3600); var m = Math.floor(time % 3600 / 60); var s = Math.floor(time % 3600 % 60); // Display the result in the element with id="demo" document.getElementById("demo").innerHTML = h + "h " + m + "m " + s + "s "; // If the count down is finished, write some text if (time < 0) { clearInterval(x); document.getElementById("demo").innerHTML = "EXPIRED"; } time--; }, 1000); </script>
Comments