当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 多线程的全选复选框

Javascript
一个qq菜单效果
一个用js实现过滤重复字符的函数
javascript 一个自定义长度的文本自动换行的函数
用js实现的一个根据内容自动生成表格的函数
图片格式的JavaScript和CSS速查手册
关于恒等于(===)和非恒等于(!==)
fix-ie5.js扩展在IE5下不能使用的几个方法
javascript实现上传图片前的预览(TX的面试题)
lib.utf.js
可以把编码转换成 gb2312编码lib.UTF8toGB2312.js
真见识了-全代码编写的图片
ASP中用Join和Array,可以加快字符连接速度的代码
javascript之弹出窗口居中的代码
识别操作系统是不是vista的js代码
js自动滑动+鼠标滑动区域
LBS blog sql注射漏洞[All version]-官方已有补丁
有一段有意思的代码-javascript现实多行信息
javascript在一段文字中的光标处插入其他文字
Google韩国首页图标动画效果
新发现原来documenet.URL也可以实现页面跳转

Javascript 中的 多线程的全选复选框


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 243 ::
收藏到网摘: n/a

复制代码 代码如下:

<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">
<br>
<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 <[email protected]>
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>

下面是运行效果
点击运行可以看到效果:
[Ctrl+A 全选 提示:你可先修改部分代码,再按运行]