2015-08-17 115 views
-3

我有两个包含文件(php),其输入字段需要通过setInterval进行更新。他们都会显示相同的输入值。使用setInterval多次调用函数

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

我试着有一个不同的文件(可以说core.js),将有自己的setInterval ajax函数,我会从每个包含文件调用此函数。然后(我认为它会起作用),当一个文件调用ajax时,它会终止间隔并重新开始。但我希望函数能够保持第一次调用的成功函数。

这有道理吗?如果不是,我很乐意听到其他选项。

enter image description here

+1

为什么不把js包含在父页面中? – Jai

+0

,因为我想在我的所有页面上。 – user2587454

+1

所以如果js在父页面上,那么它也会为所有其他包含的页面执行。 – Jai

回答

0

你应该在一个单独的文件中声明你的功能,以防止代码重复。在同一文件中声明在全球范围内一个变量,然后在每个包含文件的像做以下(假设你的全局变量的定时器)

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

,将检查,看看是否计时器已经被声明,并设置间隔,如果它没有。