南强小屋 Design By 杰米
复制代码 代码如下:
<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 <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>
下面是运行效果
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
<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 <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>
下面是运行效果
[Ctrl+A 全选 注:引入外部Js需再刷新一下页面才能执行]
标签:
多线程的全选复选框
南强小屋 Design By 杰米
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件! 如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
南强小屋 Design By 杰米
暂无多线程的全选复选框的评论...
《魔兽世界》大逃杀!60人新游玩模式《强袭风暴》3月21日上线
暴雪近日发布了《魔兽世界》10.2.6 更新内容,新游玩模式《强袭风暴》即将于3月21 日在亚服上线,届时玩家将前往阿拉希高地展开一场 60 人大逃杀对战。
艾泽拉斯的冒险者已经征服了艾泽拉斯的大地及遥远的彼岸。他们在对抗世界上最致命的敌人时展现出过人的手腕,并且成功阻止终结宇宙等级的威胁。当他们在为即将于《魔兽世界》资料片《地心之战》中来袭的萨拉塔斯势力做战斗准备时,他们还需要在熟悉的阿拉希高地面对一个全新的敌人──那就是彼此。在《巨龙崛起》10.2.6 更新的《强袭风暴》中,玩家将会进入一个全新的海盗主题大逃杀式限时活动,其中包含极高的风险和史诗级的奖励。
《强袭风暴》不是普通的战场,作为一个独立于主游戏之外的活动,玩家可以用大逃杀的风格来体验《魔兽世界》,不分职业、不分装备(除了你在赛局中捡到的),光是技巧和战略的强弱之分就能决定出谁才是能坚持到最后的赢家。本次活动将会开放单人和双人模式,玩家在加入海盗主题的预赛大厅区域前,可以从强袭风暴角色画面新增好友。游玩游戏将可以累计名望轨迹,《巨龙崛起》和《魔兽世界:巫妖王之怒 经典版》的玩家都可以获得奖励。