多次调用setInterval函数

时间:2015-08-17 12:16:20

标签: javascript jquery ajax setinterval

我有两个包含文件(php),其输入字段需要由setInterval更新。它们都会显示相同的输入值。

我的问题是,在某些情况下,我只会包含一个文件,有时我会同时包含这两个文件。 我不希望对两个包含文件都进行ajax调用,因为我将获得两次相同的数据。我也不想对一个文件进行一次调用,因为我不知道哪个文件总是会加载。

我试着让一个不同的文件(比如说core.js)将ajax函数和他自己的setInterval一起使用,我将从每个include文件中调用这个函数。然后(我以为它会起作用),当一个文件调用ajax时,它将终止间隔并重新开始。但我希望该功能能够在第一次通话时保持成功功能。

这有意义吗? 如果没有,我会很高兴听到其他选择。

enter image description here

1 个答案:

答案 0 :(得分:0)

您应该在单独的文件中声明您的功能,以防止代码重复。在同一个文件中,在全局范围内声明一个变量,然后在每个包含文件中执行类似下面的操作(假设您的全局变量是计时器)

// Start timer
if ( typeof timer === 'undefined' ) {
    timer = setInterval( funcName, 1000 );
}

这将检查是否已经声明了计时器,并设置了它没有的时间间隔。