javascript实现九宫格相加数值相等


Posted in Javascript onMay 28, 2020

本文实例介绍了javascript实现九宫格相加数值相等的对应方法,分享给大家供大家参考,具体内容如下

实现思路:

1、每个格子输入的数值必须为数字;

2、输入数值不能重复;

3、输入数值不能小于1或大于9;

4、数值不能为空;

5、相加方式共8个,分别为横向三个、纵向三个、两条对角线两个值。详情如下:

javascript实现九宫格相加数值相等

解释: 

       以每个格子所标记序号为标识:

      横向三个值: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">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <input type="text">
 <button>提交</button>
</div>

css部分:通过css3中属性实现。

*{margin:0;padding:0;outline: none;}
html,body{
 height: 100%;
 display: flex;
 justify-content: center;
 align-items: center;
}
.box{
 position: relative;
 width: 250px;
 margin:0 auto;
}
input{
 text-align: center;
 font: 40px/60px 'Microsoft YaHei';
 width: 30%;
 float:left;
 box-sizing:border-box
}
button{
 position: absolute;
 bottom:-30px;
 left: 50%;
 margin-left: -30px;
 width: 40px;
}

2、接下来重点来了,js部分

之前已经说了js的实现的方法,一下是相关代码。

var oBtn=document.getElementsByTagName('button')[0],
aInp=document.getElementsByTagName('input');
function isNum(){

var aTemp=[];//创建临时函数,一次存放九宫格中的数字

for(i=0;i<aInp.length;i++)

{
 var val=Number(aInp[i].value);
 if(isNaN(val) || val<1 || val>9) {//判断当前输入框中数值是否是数字,是否小于1,是否大于9?
 
alert('1、您只能输入1-9纯数字;2、不能为空;');
 
return false;//若满足任意一条件直接退出函数不往下走
 }
 for(s=0;s<aTemp.length;s++){//循环判断九宫格内是否有重复数值,若是有重复直接推出函数
 
if(val == aTemp[s]){
 

alert('不能重复输入!');
 

return false;
 
}
 }
 //上述判断都满足,则将当前val的值放到数组aTemp中
 aTemp.push(val);

}

//n后面所跟数字与上面图片每个格子标记的数值一致

//将横向与纵向的值设置为0;其中n1-n3为横向三个值,n4-n6为纵向三个值

var n1=0,n2=0,n3=0,n4=0,n5=0,n6=0,

//n7、n8分别为两对角值
 n7=aTemp[0]+aTemp[4]+aTemp[8],
 n8=aTemp[2]+aTemp[4]+aTemp[6];

//横向:分段相加值

for(i=0;i<3;i++)n1+=aTemp[i];

for(i=3;i<6;i++)n2+=aTemp[i];

for(i=6;i<9;i++)n3+=aTemp[i];

//纵向:因为纵向是每隔两个格子相加一次,所以正好用取模方式计算



for(i=0;i<9;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时,分别为格子2、5、8

}

//判断n1-n8各值是否都相等,当然可以任意一个n判断,不局限只与n1的值相等

n1==n2 && n1==n3 && n1==n4 && n1==n5 && n1==n6 && n1==n7 && n1==n8 ? alert('恭喜您输入正确!') : alert('很遗憾您输入错误!');
}
oBtn.onclick=isNum;执行效果

1、当输入数值为非数字,或大于9,或小于0,或为空时

javascript实现九宫格相加数值相等

2、当输入重复数字时

javascript实现九宫格相加数值相等

3、当输入正确时

javascript实现九宫格相加数值相等

以上就是本文的全部内容,希望对大家学习javascript程序设计有所帮助。

Javascript 相关文章推荐
js定义对象或数组直接量时各浏览器对多余逗号的处理(json)
Mar 05 Javascript
jquery实现的可隐藏重现的靠边悬浮层实例代码
May 27 Javascript
JavaScript实现自动消除按钮功能的方法
Aug 05 Javascript
CSS中position属性之fixed实现div居中
Dec 14 Javascript
Radio 单选JS动态添加的选项onchange事件无效的解决方法
Dec 12 Javascript
微信小程序 input输入框控件详解及实例(多种示例)
Dec 14 Javascript
简单易懂的天气插件(代码分享)
Feb 04 Javascript
微信小程序新增的拖动组件movable-view使用教程
May 20 Javascript
基于Vue实现后台系统权限控制的示例代码
Aug 29 Javascript
详解Nuxt.js中使用Element-UI填坑
Sep 06 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
js实现飞机大战小游戏
Aug 26 Javascript
Javascript类型转换的规则实例解析
Feb 23 #Javascript
理解Javascript图片预加载
Feb 23 #Javascript
Bootstarp风格的toggle效果分享
Feb 23 #Javascript
javascript瀑布流式图片懒加载实例解析与优化
Feb 23 #Javascript
javascript瀑布流式图片懒加载实例
Jun 28 #Javascript
Bootstrap创建可折叠的组件
Feb 23 #Javascript
理解javascript定时器中的setTimeout与setInterval
Feb 23 #Javascript
You might like
PHP include任意文件或URL介绍
2014/04/29 PHP
php之curl实现http与https请求的方法
2014/10/21 PHP
关于Laravel参数验证的一些疑与惑
2019/11/19 PHP
js中的屏蔽的使用示例
2013/07/30 Javascript
js点击选择文本的方法
2015/02/09 Javascript
js带点自动图片轮播幻灯片特效代码分享
2015/09/07 Javascript
JS实现的自定义网页拖动类
2015/11/06 Javascript
JS实现的简易拖放效果示例
2016/12/29 Javascript
如何在Angular应用中创建包含组件方法示例
2019/03/23 Javascript
JS实现的雪花飘落特效示例
2019/12/03 Javascript
react基本安装与测试示例
2020/04/27 Javascript
[40:50]2014 DOTA2国际邀请赛中国区预选赛 5 23 CIS VS LGD第四场
2014/05/24 DOTA
[00:38]TI珍贵瞬间系列(二):笑
2020/08/26 DOTA
[52:40]完美世界DOTA2联赛PWL S2 Magma vs GXR 第一场 11.29
2020/12/02 DOTA
Python 不同对象比较大小示例探讨
2014/08/21 Python
Python中elasticsearch插入和更新数据的实现方法
2018/04/01 Python
Django的models中on_delete参数详解
2019/07/16 Python
Python调用接口合并Excel表代码实例
2020/03/31 Python
使用Matplotlib绘制不同颜色的带箭头的线实例
2020/04/17 Python
Python新手学习函数默认参数设置
2020/06/03 Python
python pandas dataframe 去重函数的具体使用
2020/07/20 Python
python 如何调用 dubbo 接口
2020/09/24 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
群众路线剖析材料
2014/02/02 职场文书
文明之星事迹材料
2014/05/09 职场文书
食品安全处置方案
2014/06/14 职场文书
初中学校对照检查材料
2014/08/19 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
小学生优秀评语
2014/12/29 职场文书
租车协议书
2015/01/27 职场文书
营业员岗位职责
2015/02/11 职场文书
爱的教育观后感
2015/06/17 职场文书
企业宣传语大全
2015/07/13 职场文书
八年级作文之我的母亲
2019/12/10 职场文书
用Python提取PDF表格的方法
2021/04/11 Python