jQuery自动播放分页脚本

时间:2012-12-11 07:28:21

标签: javascript jquery

我的剧本:

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。 运行导航器不起作用的脚本时出现问题,并生成无限循环。

2 个答案:

答案 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在一段时间后启动一个函数,听起来就像你想要的那样。