0

我的脚本:

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>

为显示分页创建此脚本,该脚本调用 PHP 文件并使用分页加载此脚本,为此发送不同的 id,并且在加载 PHP 文件时同时加载不同的分页元素。使用此脚本,我想根据 id 运行所有分页。例如,如果我有 5 个页面,脚本从 0 到 5 运行,我使用setIntervaljQuery 来处理它。

我想让脚本分页并每 4 秒发送一次不同的 id。运行脚本时的问题导航器不起作用,并生成无限循环。

4

2 回答 2

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);        
}
于 2012-12-11T07:56:36.507 回答
0

setInterval用于让函数在给定的时间间隔内重复。因为您正在递归调用,所以一旦分页开始setIntveral,您的脚本将使用许多不同的值执行。pagination

你应该setTimeout改用。setTimeout在给定的时间段后启动一个函数,这听起来像你想要的。

于 2012-12-11T07:39:50.470 回答