2012-04-17 12 views
0

.txtファイルから表データコントロールを使用してデータを読み取っていますが、私がしたいのは、時間間隔でデータを変更することです次のデータに置き換えてください)。Javascript:表データコントロール - 時間間隔でmovenextを使用する方法

私は.moveNext()と遅延を使用すると考えましたが、遅延実装が間違っているようです。

var rs2 = CHAR.recordset; 
var delay; 
function set() 
{ 
    if(!rs2.EOF && !rs2.BOF) 
    { 
     var temp = "Characters/"+rs2(1); 
     document.getElementById('txt').innerHTML = rs2(0); 
     document.getElementById('pic').src = temp;  
    } 
} 
function begin() 
{ 
    rs2.moveFirst(); 
    set(); 
    delay = setTimeout(move(2), 1000); 
} 
function move(idx) 
{ 
    switch(idx) 
    { 
     case 1: if (!rs2.BOF) rs2.movePrevious(); 
       else rs2.moveLast(); 
       break; 
     case 2: if (!rs2.EOF) rs2.moveNext(); 
       else rs2.moveFirst(); 
       break; 
    } 
    set(); 

    if(delay) 
     clearTimeout(delay); 
    delay = setTimeout(move(2), 1000); 
} 

delayは(と思う)が実行されると、スクリプトが応答しなくなります。私はあまりにも多くの再帰をしているのでそれが起こると思うが、私はそれを修正する方法を知らない。

答えて

0

私はこのために私の別の機能を作りました。私はそれがより便利だと思います。 move()は、適切な間隔で再帰的に処理を行いながら、独自のジョブ(後で呼び出される)に集中するのに役立ちます。ここ

機能です:

function automove() 
{    
    if (!rs2.BOF) rs2.movePrevious(); 
    else rs2.moveLast(); 
    set(); 

    if(delay) 
     clearTimeout(delay); 
    delay = setTimeout(automove, 2000); 
} 
関連する問題