新客网WWW.XKER.COM:致力做中国最专业的网络学院!
学院: 操作系统 - 网络应用 - 服务器 - 网络安全 - 工具软件 - 办公软件 - Web开发 - 数据库 - 网页设计 - 图形图像 - 媒体动画 - 硬件学堂 - 存储频道 - QQ专区
您的位置:首页 > 软件开发 > Web开发 > JavaScript > 正文:js螺旋矩阵写法的一些心得

js螺旋矩阵写法的一些心得

新客网 XKER.COM 2007-09-02 来源: 收藏本文

用js写的螺旋矩阵算法,很有意思
<html>
<head>
<style>
.a{ text-align:right; background-color:#CCFFCC; font:16pt 'verdana'}
</style>
<script language="JScript">
<!--
var DGrid=new Array(8);
function InitGrid(){
 for(var i=0;i<8;i++){
  DGrid[i]=new Array(8);
  for(var j=0; j<8;j++){
   DGrid[i][j]=0;
  }
 }

function InitDigit(){
 var X = 3;
 var Y = 3;
 var N = 2;
 var dir=0;
 var t=0;
 DGrid[3][3]=1;
 for(var i=0;i<7;i++){
  for(var j=1;j<=2;j++){
   t=0;
   while(t<=i){
    X+=(dir==0)?1:((dir==2)?-1:0);
    Y+=(dir==1)?1:((dir==3)?-1:0);
    DGrid[X][Y]=N;
    N++;t++;
   }
   dir ++;
   dir %= 4;
  }
 }
}
function ShowGrid(obj,n){
 //alert(n);
 if(n<0 || n>7){
  return;
 }else{
  alert("超出范围!");
 }
 InitGrid();
 InitDigit();
 str="<Table border=1 align=center>";
 var v1 = Math.ceil(3-n/2.0+0.5);
 var v2 = v1 + n ;
 for(var i=v1;i<v2;i++){
  str+="<Tr>";
  for(var j=v1;j<v2;j++)
   str+="<TD class='a'onmouseover='over(this)' onmouseout='out(this)'>&nbsp;"+DGrid[j][i]+"&nbsp;</TD>";
  str+="</Tr>"
 }
 str +="</Table>";
 obj.innerHTML=str;
}

function over(obj){
 obj.style.backgroundColor="#FFCCCC";
}
function out(obj){
 obj.style.backgroundColor="#CCFFCC";
}
-->
</script>
</head>

<body >
<Form>
<Input id="NGrid" value="7"></Input>
<Button onclick="ShowGrid(grid,parseInt(NGrid.value));">开始</Button>
</Form>
<br>
<div id="grid">
&nbsp;
<div>
</body>

</html>

收藏】 【评论】 【推荐】 【投稿】 【打印】 【关闭
发表评论
要记得去论坛讨论,点击注册新会员匿名评论
评论内容:不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规。
阅读排行
随机推荐
实用信息推荐