2012-12-11 27 views
0

我的腳本: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> 

創建此腳本顯示分頁,該腳本調用PHP文件,並使用分頁加載這個情況,發送不同的ID,當負載PHP文件加載同一時間不同的分頁元素。有了這個腳本,我想運行所有基於id的分頁。如果我有例如5頁,腳本運行從0到5,我使用jQuery的setInterval

我想要腳本分頁並每4秒發送一次不同的id。 運行腳本時,導航器不起作用,並生成無限循環。

回答

0

正如指出你想要的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);   
} 
0

setInterval用於在給定的時間間隔內重複某個功能。因爲您遞歸地調用setIntveral,所以一旦分頁開始,您的腳本將執行pagination以及許多不同的值。

您應該使用setTimeout來代替。 setTimeout在給定的時間段後啓動一個功能,這聽起來像你想要的。

+0

我這個嘗試您發表評論,但沒有表明一對一頁每4秒,劇本表現得非常快分頁我覺得在腳本中有些不好,一會兒從第0頁開始,或者進入第3頁,並阻止我的導航器,我不明白爲什麼,謝謝你的問候 – user1860536

+0

啊,你應該刪除'分頁(0) 'if(id + 1> 2)'後 – zackg