2014-01-23 63 views
0

我正在制作某种幻灯片系统,并且我使用JavaScript/jQuery/PHP来循环播放不同的幻灯片。这一切都工作良好,但在幻灯片(动态加载到整页div)内,我也想刷新幻灯片的部分(幻灯片分成几个框)。每隔几秒在一个jquery加载的div中刷新div部分

我使用SetInterval每隔x秒重新加载部分,但是,当幻灯片更改时,以及一段时间后出现相同的幻灯片,这些SetIntervals叠加起来,导致部分重新加载方式的次数太多。

我试图确认该元素是否仍然存在:

var refreshBox = setInterval(function(){ 
if ($('#box_<php id>').length > 0){ 
//Ajax/Refresh code  
}else{ 
clearInterval(refreshBox); 
} 
}, ".$boxes_data['box_refresh']."000); 

但没有工作。当相同的幻灯片再次出现时,间隔仍然起作用。

任何解决方案?

谢谢!

回答

0

已经成功通过创建一个全球性的阵列来解决它:从阵列

refreshBox[".($boxes_data['box_id'])."] = setInterval(function(){ 

删除间隔:

window.refreshBox=new Array(); 

阵列中创建间隔

clearInterval(refreshBox[".($boxes_data['box_id'])."]);