希望有人可以提供帮助。我是javascript的新手所以请原谅任何错误。我正在努力实现以下目标:
我有一个带有html表的索引页面,分为四个季度。每个季度都有一个DIV ID,通过jquery的ajax加载将在一定延迟后成功地用PHP页面重新加载单个DIV。
我想要做的是,对于其中一个季度,每隔15分钟在DIV中旋转三个PHP页面,并继续循环。我已经设置了一个包含三个php站点的数组,并成功使用它与计数器变量通过jquery调用数组中的relavent条目。如果我在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);
答案 0 :(得分:1)
试试这个
var refreshId = setInterval(function()
{
$container.load(page[count]);
count = (count+1) % 3
}, delay);
这样,当计数达到3时,它将被重置为0.百分号是模块除法
答案 1 :(得分:1)
不要使用Set Interval。
如果页面加载缓慢,会导致网站崩溃,它会滞后并链接使用setTimeout:
setTimeout(function_name, delay);
var function_name = function() {
$container.load(page[count], function(){
count = (count+1) % 3;
setTimeout(function_name, delay);
});
}
这样,超时不会被链接,一旦页面加载完成就会触发