1

希望有人可以提供帮助。我是javascript新手,所以请原谅任何错误。我正在努力实现以下目标:

我有一个带有 html 表的索引页,分为四个部分。每个季度都有一个 DIV ID,通过 jquery 的 ajax 加载将在一定延迟后成功地用 PHP 页面重新加载各个 DIV。

我想要做的是,对于其中一个季度,每 15 分钟在 DIV 中旋转三个 PHP 页面,并保持循环。我已经设置了一个包含三个 php 站点的数组,并成功地将它与一个计数器变量一起使用,以通过 jquery 调用数组中的相关条目。如果我在 ajax 代码中输入计数,它就可以工作。我现在正在努力查看如何增加计数器,并在它到达第三页后将其重置。

我不知道是否可以使用 ajax.complete 函数来协助,因为我不知道是否可以将“标准”javascript 放入此函数中。

感谢您的帮助 - 我的代码如下:

var count = 0;
var page = new Array("page1.php","page2.php","page3.php");
var delay = ("9000");


    (
function($)
{
$(document).ready(function()  
{        
$.ajaxSetup(        
    {            
        cache: false


    });  
    var $container = $("#DivID"); 
    $container.load(page[count]);    
    var refreshId = setInterval(function()  
    {           
        $container.load(page[count]); 
    }, delay); 



});

})

(jQuery);
4

2 回答 2

1

不要使用设置间隔。

如果页面加载缓慢,它将滞后和链接,使您的网站崩溃

使用设置超时:

setTimeout(function_name, delay);

var function_name = function() {
    $container.load(page[count], function(){
        count = (count+1) % 3;
        setTimeout(function_name, delay);
    });


}

这样,超时不会被链接,它会在页面加载完成后触发

于 2012-05-22T22:04:21.770 回答
1

尝试这个

var refreshId = setInterval(function()  
{           
    $container.load(page[count]);
    count = (count+1) % 3 
}, delay); 

这样当计数达到 3 时,它将被重置为 0。百分号是模块划分

于 2012-05-22T20:04:42.977 回答