我正在尝试制作一个每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秒,为什么?谢谢.
这是整个HTML代码:
<title></title>
<script type="text/javascript">
function send()
{
var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
alert(xmlhttp.responseText);
}
}
xmlhttp.open("POST","add.php",true);
xmlhttp.send('subject=' + document.getElementById("subject").value);
}
</script>
</head>
<body>
<form name="main" method="post" action="add.php">
<div align="center">
<table border="1" frame="hsides" rules="rows" cellpadding="5" cellspacing="0" width="50%" align="center">
<tr>
<td width="20%">
subject:
</td>
<td width="80%" align="right">
<input type="text" size="80" maxlength="80" name="subject" id="subject" />
</td>
</tr> …Run Code Online (Sandbox Code Playgroud)