在jQuery中每5秒调用一次函数的最简单方法是什么?[重复]

jQuery,如何每5秒调用一次函数。

我正在寻找一种自动化幻灯片显示中图像更改的方法。

如果可能的话,我宁愿不安装其他任何第三方插件。

Sam神乐番长2020/03/12 16:19:18

您可以使用window.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>
Near飞云2020/03/12 16:19:18

只是第一个答案的小提示。如果您的函数已经定义,请引用该函数但不要调用它!!!因此,请勿在函数名称后加上任何括号。就像:

my_function(){};
setInterval(my_function,10000);
Sam逆天2020/03/12 16:19:18

双方setIntervalsetTimeout能为你的工作(如@Doug Neiner和@约翰博克写无论是现在还是点setInterval)。
有关更多信息,请参见此处,以了解最适合您的套件以及如何停止每个套件。

2020/03/12 16:19:18

您可以使用setInterval在页面上注册间隔,即:

setInterval(function(){ 
    //code goes here that will be run every 5 seconds.    
}, 5000);
小胖Jim2020/03/12 16:19:18

上面提到的函数无论是否在先前的调用中完成都将执行,一旦执行完成,此函数将每隔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
}
Green卡卡西2020/03/12 16:19:18

为此,您不需要jquery,使用简单的javascript即可!

window.setInterval(function(){
  /// call your function here
}, 5000);

要停止循环,您可以使用

clearInterval()