js里setTimeout方法做延时操作,结果发现里面的方法执行了3遍,为什么呢?

解决方案 »

  1.   

    index = obj;
    document.getElementById(obj).className='fc_white';
    setTimeout(delayNext(s,mp3,lrc),5000);
    }; function delayNext(s,mp3,lrc){
        correctSong = s;
    guessSong(s);
    play(mp3,lrc);
    document.getElementById("song1").className="btnStyFalse";
    document.getElementById("song2").className="btnStyFalse";
    document.getElementById("song3").className="btnStyFalse";
    document.getElementById("song4").className="btnStyFalse";
    document.getElementById("rigOrWro1").innerHTML='';
    document.getElementById("rigOrWro2").innerHTML='';
    document.getElementById("rigOrWro3").innerHTML='';
    document.getElementById("rigOrWro4").innerHTML='';
    } 现在这行报js无效参数错误,但找不出错误来啊
    setTimeout(delayNext(s,mp3,lrc),5000);
      

  2.   

    delayNext(s,mp3,lrc)方法有问题,你可以单独写点代码测试哈delayNext(s,mp3,lrc)。
      

  3.   

    delay方法里就这些代码啊,应该没问题啊