javascript实现九个平方之和相等
介绍了用javascript实现九宫格的相应方法,分享给大家参考。具体内容如下。
实施思路:1。在每个网格中输入的数值必须是一个数字;
2.输入的值不能重复;
3.输入值不能小于1或大于9;
4.该值不能为空;
5.加法有8种方式,水平三种,垂直三种,对角两种。详情如下:
解释一下:
用每个网格标记的序列号作为标识:
三个水平值:0-2、3-4、6-8;
纵向三个值:[0,3,6],[1,4,7],[2,5,8];
两个对角线值:[0,4,8],[2,4,6]。
实现过程:非常简单。就像上图一样,点击提交按钮开始判断。
1.布局html部分:
div class='box '输入类型='text '输入类型='text '输入类型='text '输入类型='text '输入类型='text '输入类型='text '输入类型='text '输入类型e='text '输入类型='text '按钮submit /button/divcss部分,这是通过css3中的属性实现的。
* { margin:0划水:0;outline:无;}html,正文{ height : 100%;display: flexjustice-content : center;align-items:居中;}.box{ position:相对;宽度: 250 px;margin:0 auto}输入{ text-align : center;font: 40px/60px '微软雅黑';宽度:30%;float:leftbox-sizing : border-box }按钮{ position: absolutebottom :-30px;左侧:50%;左边距:-30px;宽度: 40px;}2.接下来,重点来了。js部分已经讲了js的实现方法,相关代码如下。
var oBtn=document . getelementsbytagname(' button ')[0],aInp=document . getelementsbytagname(' input ');函数iSNUM(){ var ATEMP=[];//创建一个临时函数,一次性在九宫格中存储(i=0)的数字;iaInp.lengthi ){ var val=Number(aInp[i]。值);If(isNaN(val) || val1 || val9) {//判断当前输入框中的值是否为数字,小于1,大于9?Alert('1,只能输入1-9个纯数字;2.它不能为空);返回false//如果满足任何条件,则退出该函数,而不向下} for(s=0;saTemp.lengthS ){//循环判断九宫格中是否有重复值,如果有重复值,直接推导函数if(val==aTemp[s]){ alert('不能重复输入!'。);返回false} }//如果满足上述所有判断,则将当前val值放入数组ATEMP . push(val);}//n以下数字与上图各格线标记值一致。//将水平和垂直值设置为0;其中n1-n3是水平三值,n4-n6是垂直三值varn1=0,N2=0,n3=0,n4=0,n5=0,n6=0,//n7和n8分别是两个对角值n7=a temp [0] a temp [4] a temp [8]。//水平:分段相加值为(I=0;i3;I)n1=AteMP[I];for(I=3;i6;I)N2=AteMP[I];for(I=6;i9;I)n3=AteMP[I];//纵向:因为纵向每两格加一次,所以取模计算为(i=0)刚刚好;i9;I){(I % 3==0)(n4=AteMP[I]);//当i%3=0时,它们是网格0、3和6(I % 3==1)(n5=AteMP[I]);//当i%3=1时,它们是网格1、4和7(I % 3==2)(n6=AteMP[I]);//当i%3=1时,检查n1-n8的所有值是否相等。//当然可以判断它们是否等于任意N,不限于等于n1的值。N1==N2 n1==N3N1==n4 n1==n5 n1==n6 n1==n7 n1==N8?Alert('祝贺您正确输入!'): alert('很抱歉您输入错误!' );} oBtn.onclick=isNum执行效果1。当输入值为非数字、大于9、小于0或为空时。
2.输入重复数字时。
3.当输入正确时。
以上就是本文的全部内容,希望对大家学习javascript编程有所帮助。
版权声明:javascript实现九个平方之和相等是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。