2012-04-17 62 views
0

我已經使用表格數據控制從.txt文件中讀取數據,但是我想要做的是在一段時間間隔內改變數據(最近的數據將會被下一個數據取代)。Javascript:Tabular Data Control - 如何在一段時間間隔內使用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); 
} 
相關問題