繁体   English   中英

javascript settimeout在递归函数中不起作用

[英]javascript settimeout not working inside recursive function

我的脚本如下,该脚本应在div中重播鼠标图像,但settimeout不起作用,并且控制台中也没有错误:

function play(data, value) {
    var data = data;

    function run() {
        var nowTime;
        var newdata = data.splice(0, 1); // after splice, data will be auto updated
        if (newdata.length == 1) {
            nowTime = newdata[0][6];
            var timer = setTimeout(function() {
                if (newdata[0][3] == '14') {
                    replay(newdata[0][0], newdata[0][1]);
                }
                preTime = nowTime;
                // continue run next replay
                run();

            }, nowTime - preTime);
        }
    }
    run();
}

请帮我。 如何解决这个问题。

提前致谢

尝试这个

var newdata;
var nowTime;
var preTime;
function play(data, value)
{
  newdata= data.splice( 0, 1 ); // after splice, data will be auto updated

  if ( newdata.length ==  1 ) {
        nowTime = newdata[0][6];
        var timer = setTimeout("timer();",nowTime - preTime );   
  }
}
function timer()
{
  if(newdata[0][3] == '14'){
     replay( newdata[0][0], newdata[0][1]);
  }
  preTime = nowTime;
  play();
}
play();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM