1

誰かが助けてくれることを願っています。私はJavaScriptを初めて使用するので、間違いはご容赦ください。私は次のことを達成しようとしています:

4つの四半期に分割されたhtmlテーブルのあるインデックスページがあります。各四半期にはDIVIDがあり、jqueryを介したajaxロードは、一定の遅延の後、個々のDIVにPHPページを正常にリロードします。

私がやろうとしているのは、四半期の1つで、15分ごとにDIV内の3つのPHPページをローテーションし、ループを続けることです。私は3つのphpサイトを含む配列をセットアップし、これをカウンター変数とともに使用して、jqueryを介して配列内の関連エントリを呼び出すことに成功しました。カウント数をajaxコードに入れると、機能します。現在、カウンターをインクリメントする方法と、3ページ目に到達したらリセットする方法を確認するのに苦労しています。

この関数内に「標準」のJavaScriptを入れることができるかどうかわからないため、ajax.complete関数を使用して支援できるかどうかはわかりません。

助けてくれてありがとう-私のコードは以下の通りです:

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);
4

2 に答える 2

1

これを試して

var refreshId = setInterval(function()  
{           
    $container.load(page[count]);
    count = (count+1) % 3 
}, delay); 

このように、カウントが3に達すると、0にリセットされます。パーセント記号はモジュールの分割です。

于 2012-05-22T20:04:42.977 に答える
1

SetIntervalは使用しないでください。

ページの読み込みが遅い場合は遅れて連鎖し、サイトがクラッシュします

setTimeoutを使用します。

setTimeout(function_name, delay);

var function_name = function() {
    $container.load(page[count], function(){
        count = (count+1) % 3;
        setTimeout(function_name, delay);
    });


}

このように、タイムアウトは連鎖せず、ページの読み込みが完了すると発生します

于 2012-05-22T22:04:21.770 に答える