我的剧本:
function pagination(id)
{
$("#article_load_destacados").load("indexer_destacados_news.php?pg_d="+id);
if (id+1>2)
{
pagination(0);
setInterval(function()
{
pagination(0);
}, 4000);
}
else
{
setInterval(function()
{
pagination(id+1);
}, 4000);
}
}
</script>
<div id="article_load_destacados"></div>
<script>
pagination(0);
</script>
为show pagination创建这个脚本,脚本调用PHP文件并用分页加载它,为此发送不同的id并在加载PHP文件时加载同一时间不同的分页元素。有了这个脚本,我想根据id运行所有分页。如果我有5个页面,那么脚本从0到5运行,我使用setInterval
来使用jQuery。
我想获取脚本分页并每4秒发送不同的id。 运行导航器不起作用的脚本时出现问题,并生成无限循环。
答案 0 :(得分:1)
正如你所指出的,你想要setTimeout而不是setInterval,你也可以简化你的代码http://jsfiddle.net/rayBt/
var imax = 3;
var time = 500;
function pagination(id){
$("#article_load_destacados").load("indexer_destacados_news.php?pg_d="+id);
id = (id + 1) % imax;
setTimeout(function () {
pagination(id);
}, time);
}
答案 1 :(得分:0)
setInterval
用于在给定间隔内重复函数。因为您以递归方式调用setIntveral
,所以一旦分页开始,您的脚本将执行具有许多不同值的pagination
。
您应该使用setTimeout
代替。 setTimeout
在一段时间后启动一个函数,听起来就像你想要的那样。