Каков самый простой способ вызова функции каждые 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>