javascript setTimeout错误

use*_*615 2 javascript

我正在尝试制作一个每5秒移动一次的进度条.这是我的代码:

function Progress(runner, validlinks)
{
    if (runner <= validlinks)
    {
        var myString = document.getElementById('links').value;
        var mySplit = myString.split("\n");
        var ValidLinksCount = 0;

        for(i = 0; i < mySplit.length; i++)
        {
            if (mySplit[i].search("who") != -1)
                ValidLinksCount++;
                ValidLinksCount++;
            else if (mySplit[i].search("we") != -1)
                ValidLinksCount++;
        }
        var jump = Math.ceil(100 / ValidLinksCount);
        runner++;
        document.getElementById("progressDiv").style.width = parseInt(document.getElementById("progressDiv").style.width) + jump + "%";
        window.setTimeout(Progress(runner,ValidLinksCount), 5000);
    }
}
Run Code Online (Sandbox Code Playgroud)

我在按钮提交上称它为:

<input type="submit" name="submit" disabled="true" onclick="Progress(0,0);" value="check" />
Run Code Online (Sandbox Code Playgroud)

它只是运行,并且不会等到下一次运行5秒,为什么?谢谢.

Rig*_*red 8

通过,不要打电话,一个功能.

window.setTimeout(function() {
    Progress(runner,ValidLinksCount);
}, 5000);
Run Code Online (Sandbox Code Playgroud)