0 0

web前端用Worker 多线程在后台过滤值 5

HTML5代码如下  不知道哪地方出错了 就是不能正常求值显示


<!DOCTYPE>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<style type="text/css">
body {font:normal 11px auto "Trebuchet MS", Arial, Helvetica, sans-serif; color:#4f6b72; background:#E6EAE9;}
table {width:700px; padding:0; margin:0;}
td {border-right:1px solid #C1DAD7; border-bottom:1px solid #C1CAD7; background:#fff; font-size:11px; padding:6px 6px 6px 12px; color:#4f6b72; text-align:center;}
</style>
<script type="text/javascript">
var intArray=new Array(200);
var intStr="";
for(var i=0;i<200;i++){
intArray[i]=parseInt(Math.random()*200);
if(i!=0)
intStr+=";";
intStr+=intArray[i];
}
var worker=new Worker("script.js");
worker.postMessage(intStr);
worker.onmessage=function(event){
if(event.data!=""){
var m,k,tr,td;
var intArray=event.data.split(";");
var table=document.getElementById("table");
for (var i=0;i<intArray.length;i++){
m=parseInt(i/10,0);
k=i%10;
if(k==0){
tr=document.createElement("tr");
tr.id="tr"+m;
table.appendChild(tr);
}
else{
tr=document.getElementById("tr"+m);
}
td=document.createElement("td");
tr.appendChild(td);
td.innerHTML=intArray[m*10+k];
}
}
};


</script>
<title>产生随机数 能被一个数整除</title>
</head>

<body>
<table id="table">
</table>

</body>
</html>

下面为script.js的代码:
onmessage=function(event){
var data=event.data;
var returnStr;
var intArray=data.split(";");
returnStr="";
for (var i=0;i<intArray.length;i++){
if(parseInt(intArray[i])%3==0){
if(returnStr!="")
returnStr+=";";
returnStr+=intArray[i];
}
}
postMessage(returnStr);
}
求大神帮忙啊  谢谢了
2014年6月10日 10:51
目前还没有答案

相关推荐

Global site tag (gtag.js) - Google Analytics