js定时器出现第一次延迟的原因及解决方法

(编辑:jimmy 日期: 2024/12/23 浏览:2)

我们在使用js定时器,经常会出现间隔几秒获取一次数据,这是通过setInterval实现的。而且如果setInterval() 参数传递不当,定时器会延迟试行。本文向大家介绍js定时器第一次延迟的原理及实现过程。

setInterval()

作用是在播放动画的时,每隔一定时间就调用函数、方法或对象。

语法

setInterval(function(),time); 单位是毫秒

注意:单位是毫秒

定时器第一次延迟执行:采用setInterval实现

var t = setInterval(scrollTop,2500);
function scrollTop(){
 // ...
}

js setInterval第一次执行时存在延迟的解决方法

在使用setInterbal(function,delayTime)方法时,发现它会为函数的第一次调用也做延迟。一般我们都是第一次立即调用,然后延迟调用。我的解决方法如下:

需要延迟调用的函数:
  function callinSound(){
  	var callin=$('#callin')[0];
  	callin.load();
  	callin.play();
  	//第一次执行完成后返回这个函数
  	return callinSound;
  }
调用方:setInterval(callinSound(),6000);
首先,调用callinSound()方法,然后延迟执行。