一個JS小玩意 幾個屬性相加不能超過一個特定值.

來源:互聯網
上載者:User

最有名的例子就是三國志和太閣裡給新武將角色指派屬性值啦.
在下不才,用javascript做了這麼一個功能,順便把頁面中的連結底線給隱藏掉.
大家看看,有什麼更好的最佳化意見,大家儘管提.
下面是代碼:
首先是test.html: 複製代碼 代碼如下:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<META NAME="Author" CONTENT="">
<META NAME="Keywords" CONTENT="">
<META NAME="Description" CONTENT="">
<script language="JavaScript" src="util.js" type="text/JavaScript"></script>
<link rel="stylesheet" href="link.css" type="text/css">
</HEAD>
<BODY >
<form name="Register1Form" method="POST" >
<table>
<tr>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="font1"><div align="right">username</div></td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="font1"> <div align="center">
<input name="username" type="text" size="10" maxlength="10" value="1">
</div></td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="bg2">
<div align="center"><font color="#FF0000"><font color="#FF0000"><font face="黑體"><a href="" onclick="javascript:add(Register1Form);return false;" class="A">+</a></font></font></font></div& gt;</td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="bg2">
<div align="center"><font color="#FF0000"><font color="#FF0000"><font face="黑體"><a href="" onclick="javascript:subtration(Register1Form);return false;" class="A">-</a></font></font></font></div& gt;</td>
</tr>
<tr>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="font1"><div align="right">meili</div></td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="font1"> <div align="center">
<input name="meili" type="text" size="10" maxlength="10" value="1">
</div></td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="bg2">
<div align="center"><font color="#FF0000"><font color="#FF0000"><font face="黑體"><a href="" onclick="javascript:add2(Register1Form);return false;" class="A">+</a></font></font></font></div& gt;</td>
<td height="30" bordercolor="#FFFFFF" bgcolor="#D0E8FF" class="bg2">
<div align="center"><font color="#FF0000"><font color="#FF0000"><font face="黑體"><a href="" onclick="javascript:subtration2(Register1Form);return false;" class="A">-</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;
}

三個檔案放在同一檔案夾下,然後試試效果,我肯定沒騙你.

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.