<div class="codetitle"> <span><a style="CURSOR: pointer" data="13664" class="copybut" id="copybut13664" onclick="doCopy('code13664')"><u>复制代码</u></a></span> 代码如下:</div> <div class="codebody" id="code13664"> <br><style> <BR>BODY {FONT-SIZE: 9pt;} <BR>table {FONT-SIZE: 9pt;} <BR></style> <br><br><input><label>全部选择</label> <br>线程数:<input> <br><br> <br><table> <br><tr> <td><span></span></td> <br><td> <br><table><tr> <br><td></td> <br><td></td> <br> </tr></table> <br> </td> </tr> <br><tr><td><span></span></td></tr> <br> </table> <br><script> <BR>/* <BR>This following code are designed and writen by Windy_sk <seasonx@163.net> <BR>You can use it freely, but u must held all the copyright items! <BR>*/ <BR>var total = 505; <BR>var thread_num; <BR>var pre_thread; <BR>var thread = new Array(); <BR>var completed = 0; <BR>var start_time = null; <br><br>for(i=0;i<total;i++)document.write("<input type=checkbox id=cbox>"); <br><br>function init_para(){ <BR>thread_num = parseInt(the_thread.value); <BR>if(isNaN(thread_num)) thread_num = 10; <BR>pre_thread = Math.floor(total/thread_num); <BR>result.innerText = ""; <BR>bar1.style.width = "0%"; <BR>bar2.style.width = "100%"; <BR>bar.style.display = ""; <BR>} <br><br>function check_all(){ <BR>checkall.disabled = true; <BR>init_para(); <BR>for(var i=0;i<thread_num;i++){ <BR>thread[i]=[setInterval("thread["+i+"][1]<pre_thread?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0]; <BR>} <BR>thread[i]=[setInterval("thread["+i+"][1]<total%thread_num?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0]; <BR>} <br><br>function check_unit(num){ <BR>if(completed==0)start_time=new Date; <BR>cbox[num].checked=checkall.checked; <BR>completed++; <BR>var cur_rate = Math.round(completed*100/total); <BR>show.innerText = completed + "/" + total + " : " + cur_rate + "%"; <BR>bar1.style.width = cur_rate + "%"; <BR>bar2.style.width = (100-cur_rate) + "%"; <BR>if(completed == total){ <BR>completed = 0 <BR>checkall.disabled = false; <BR>result.innerText = "("+total+"单元/"+thread_num+"线程,总共耗时:"+((new Date)-start_time)+" ms)"; <BR>} <BR>} <BR></script> <br> </div> <br><strong>下面是运行效果<br></strong><div class="htmlarea"> <textarea id="runcode21950"> <style> BODY {FONT-SIZE: 9pt;} table {FONT-SIZE: 9pt;} </style> <input type="checkbox" id="checkall" onclick="check_all()"><label for="checkall">全部选择</label> 线程数:<input type="text" id="the_thread" value="10" size="2" maxlength="2" style="height:15px; font-size:12px;padding:0px"> <table border="0"> <tr> <td style="width:100px;over-flow:hidden"><span id="show"></span></td> <td style="width:400px;"> <table id="bar" style="width:90%;height:10px;border:1px black solid;display:none"><tr> <td id="bar1" bgcolor="skyblue" style="width:0%"></td> <td id="bar2" style="width:100%"></td> </tr></table> </td> </tr> <tr><td colspan="2"><span id="result"></span></td></tr> </table> <script language="JavaScript"> /* This following code are designed and writen by Windy_sk <seasonx@163.net> You can use it freely, but u must held all the copyright items! */ var total = 505; var thread_num; var pre_thread; var thread = new Array(); var completed = 0; var start_time = null; for(i=0;i<total;i++)document.write("<input type=checkbox id=cbox>"); function init_para(){ thread_num = parseInt(the_thread.value); if(isNaN(thread_num)) thread_num = 10; pre_thread = Math.floor(total/thread_num); result.innerText = ""; bar1.style.width = "0%"; bar2.style.width = "100%"; bar.style.display = ""; } function check_all(){ checkall.disabled = true; init_para(); for(var i=0;i<thread_num;i++){ thread[i]=[setInterval("thread["+i+"][1]<pre_thread?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0]; } thread[i]=[setInterval("thread["+i+"][1]<total%thread_num?check_unit("+i+"*pre_thread + thread["+i+"][1]++):clearInterval(thread["+i+"][0])",1),0]; } function check_unit(num){ if(completed==0)start_time=new Date; cbox[num].checked=checkall.checked; completed++; var cur_rate = Math.round(completed*100/total); show.innerText = completed + "/" + total + " : " + cur_rate + "%"; bar1.style.width = cur_rate + "%"; bar2.style.width = (100-cur_rate) + "%"; if(completed == total){ completed = 0 checkall.disabled = false; result.innerText = "("+total+"单元/"+thread_num+"线程,总共耗时:"+((new Date)-start_time)+" ms)"; } } </script> </textarea><br><input onclick="runEx('runcode21950')" type="button" value="运行代码"> <input onclick="doCopy('runcode21950')" type="button" value="复制代码"> <input onclick="doSave(runcode21950)" type="button" value="保存代码">[Ctrl+A 全选 注:<a href="http://www.jb51.net/article/23421.htm" title="查看具体详情" target="_blank">如需引入外部Js需刷新才能执行</a>]</div>