一个JS小玩意 几个属性相加不能超过一个特定值

以前玩游戏,有给玩家角色分配什么魔法点数,体力点数的功能,而且几个属性相加不能超过一个特定值.

最有名的例子就是三国志和太阁里给新武将角色分配属性值啦.
在下不才,用javascript做了这么一个功能,顺便把页面中的链接下划线给隐藏掉.
大家看看,有什么更好的优化意见,大家尽管提.
下面是代码:
首先是test.html:

复制代码 代码如下:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META CONTENT="EditPlus">
<META CONTENT="">
<META CONTENT="">
<META CONTENT="">
<script language="JavaScript" src="https://www.jb51.net/util.js" type="text/JavaScript"></script>
<link href="https://www.jb51.net/link.css" type="text/css">
</HEAD>
<BODY >
<form method="POST" >
<table>
<tr>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF"><div>username</div></td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF"> <div>
<input type="text" size="10" maxlength="10" value="1">
</div></td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF">
<div><font color="#FF0000"><font color="#FF0000"><font face="黑体"><a href="">+</a></font></font></font></div& gt;</td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF">
<div><font color="#FF0000"><font color="#FF0000"><font face="黑体"><a href="">-</a></font></font></font></div& gt;</td>
</tr>
<tr>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF"><div>meili</div></td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF"> <div>
<input type="text" size="10" maxlength="10" value="1">
</div></td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF">
<div><font color="#FF0000"><font color="#FF0000"><font face="黑体"><a href="">+</a></font></font></font></div& gt;</td>
<td bordercolor="#FFFFFF" bgcolor="#D0E8FF">
<div><font color="#FF0000"><font color="#FF0000"><font face="黑体"><a href="">-</a></font></font></font></div& gt;</td>
</tr>
</table>
</form>
</body>
</html>


还有link.css:

复制代码 代码如下:


.A {
text-transform: none;
text-decoration: none;
}
.a:hover {
text-decoration: underline
}


最后是util.js(这个代码比较长了):

复制代码 代码如下:


var flag=false;
function add(formname){
if (formname.username.value == "") {
alert("请输入一个正整数");
formname.username.focus();
return false;
}
flag = checkscope(formname);
if(flag==false){
return false;
}
if( parseInt(formname.username.value)>0){
formname.username.value =parseInt(formname.username.value)+1;
if(parseInt(formname.username.value)+parseInt(formname.meili.value)>10){
alert("输入的整数之和不得大于10");
formname.username.value =10-parseInt(formname.meili.value);
return false;
}else
return true;
}else{
alert("输入的整数必须大于0");
formname.username.value =1;
return false;
}
}
function subtration(formname){
if (formname.username.value == "") {
alert("请输入一个正整数");
formname.username.focus();
return false;
}
flag = checkscope(formname);
if(flag==false){
return false;
}
if( parseInt(formname.username.value)>1){
formname.username.value =parseInt(formname.username.value)-1;
if(parseInt(formname.username.value)+parseInt(formname.meili.value)>10){
alert("输入的整数之和不得大于10");
formname.username.value =10-parseInt(formname.meili.value);
return false;
}else
return true;
}else if(parseInt(formname.username.value) ==1){
alert("已经是最小值,不能再减了");
return false;
}else{
alert("输入的整数必须大于1");
formname.username.value =1;
return false;
}
}
function add2(formname){
if (formname.meili.value == "") {
alert("请输入一个正整数");
formname.meili.focus();
return false;
}
flag = checkscope(formname);
if(flag==false){
return false;
}
if( parseInt(formname.meili.value)>0){
formname.meili.value =parseInt(formname.meili.value)+1;
if(parseInt(formname.username.value)+parseInt(formname.meili.value)>10){
alert("输入的整数之和不得大于10");
formname.meili.value =10-parseInt(formname.username.value);
return false;
}else
return true;
}else{
alert("输入的整数必须大于0");
formname.meili.value=1;
return false;
}
}
function subtration2(formname){
if (formname.meili.value == "") {
alert("请输入一个正整数");
formname.meili.focus();
return false;
}
flag = checkscope(formname);
if(flag==false){
return false;
}
if( parseInt(formname.meili.value)>1){
formname.meili.value =parseInt(formname.meili.value)-1;
if(parseInt(formname.username.value)+parseInt(formname.meili.value)>10){
alert("输入的整数之和不得大于10");
formname.meili.value =10-parseInt(formname.username.value);
return false;
}else
return true;
}else if(parseInt(formname.meili.value) ==1){
alert("已经是最小值,不能再减了");
return false;
}else{
alert("输入的整数必须大于1");
formname.meili.value=1;
return false;
}
}
function checkscope(formname){
if((parseInt(formname.username.value)>9)||(parseInt(formname.username.value)<1)){
alert("username输入数字超出允许的范围1-9");
formname.username.value=1;
formname.username.focus();
return false;
}
if((parseInt(formname.meili.value)>9)||(parseInt(formname.meili.value)<1)){
alert("meili输入数字超出允许的范围1-9");
formname.meili.value=1;
formname.meili.focus();
return false;
}
return true;
}


三个文件放在同一文件夹下,然后试试效果,我肯定没骗你.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wjyjdj.html