2012-04-17 59 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); 
} 
相关问题