JQuery,如何每5秒调用一个函数。

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

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


当前回答

你不需要jquery,在纯javascript中,以下将工作:

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

要停止循环,您可以使用:

clearInterval(intervalId) 

其他回答

setInterval和setTimeout都可以为您工作(正如@Doug Neiner和@John Boker所写的,现在都指向setInterval)。 这里有更多关于两者的解释,看看哪个最适合你,以及如何阻止它们。

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

setInterval(function(){ 
    //code goes here that will be run every 5 seconds.    
}, 5000);

你可以用window。setInterval和time必须以毫秒为单位定义,在下面的情况下,函数将在每一秒(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>

你不需要jquery,在纯javascript中,以下将工作:

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

要停止循环,您可以使用:

clearInterval(intervalId) 

一个订阅setInterval()并使用clearInterval()来停止永久循环的好例子:

function everyTime() {
    console.log('each 1 second...');
}

var myInterval = setInterval(everyTime, 1000);

调用这一行来停止循环:

 clearInterval(myInterval);