欢迎光临散文网 会员登陆 & 注册

JS题:简易个人美化计算器设计,扩展重命名的方法 ,表格的移入换行变色【诗书画唱】

2020-05-10 21:12 作者:诗书画唱  | 我要投稿



作业:

  1. 计算器

(题示:做一个加法的运算时,点击+号出现的操作:

清空掉文本框中的内容

点击=号:计算第一次的内容和当前文本框里的内容的和

若-号得到不了,就声明一个变量用来储存符号

点击删除的时候去除最后一位数,使用String的字符串截取方法

截取字符串前面的位数,去掉最后一位,赋值给文本框

内容清空后应该剩余一个0,判断字符串的长度是不是等于1,如果大于1的时候正常截取,如果小于等于1(比如-1)的时候就让文本框的内容为0)







<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

<style>

#all{

margin: 0px auto; width: 200px; height: 300px;

border: 1px solid red;background-color: black;}

#wenBenKuang{

width: 170px; height: 40px;line-height: 40px;

text-align: center;margin: 0px auto;margin-top: 20px;

border: 1px solid red;

}

#anNiuID{

width: 170px;margin: 0px auto;border:

 1px solid blue; margin-top: 10px;



}

#anNiuID input {

width: 27px; height: 27px;

margin:5px;


/*text-align: center;*/

}


#wenBenKuang input{

height: 25px;width: 150px;text-align: right;

padding-right: 10px;

}

</style>

<script>

window. onload=function(){

var wenBenWenZi=document . getElementById("wenBenWenZiID")

var anNiu=document . getElementById("anNiuID");

//Tag:标签(比如input)

var allAnNiu=anNiu . getElementsByTagName("input");


var firstWenBenWenZi,fuHao;

for(var i of allAnNiu){

i.onclick=function(){

//alert(this .value);

//  inner 内部

//这里的value:文本框中的值

if(!isNaN(this .value)){


                 

wenBenWenZi. value= (Number(wenBenWenZi.

value+this . value))*1;



}


else 

{

switch(this.value){

//case "+":

//diyici=txt1.value;

//

//wenBenWenZi. value="0";

//fh="+"

//break;

//

//case "-":

//diyici=txt1.value;

//

//wenBenWenZi. value="0";

//fh="-"

//break;

//case "*":

//diyici=txt1.value;

//

//wenBenWenZi. value="0";

//fh="*"

//break;

//

//case "/":

//diyici=txt1.value;

//

//wenBenWenZi. value="0";

//fh="/"

//break;

case "+":

case "-":

case "*":

case "/":

firstWenBenWenZi=wenBenWenZi.value;

wenBenWenZi.value="0";

fuHao=this. value;

break;

case "c":

wenBenWenZi. value="0" ;break;

case "←":

wenBenWenZi. value=wenBenWenZi. value . length>1?wenBenWenZi.

value . substr(0, wenBenWenZi. value. length-1):"0" ;break;


//+/-即±,表示-1,+1等

case "+/-":

//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。

//

//如果没有找到匹配的字符串则返回 -1。

//

//注意: indexOf() 方法区分大小写。

wenBenWenZi.value=wenBenWenZi. value. indexOf("-")==-1?"-"


//substr() 方法可在字符串中抽取从 start 下标开始的指定数目的字符。

//

//语法

//stringObject.substr(start,length)

//参数 描述

//start 必需。要抽取的子串的起始下标。必须是数值。如果是负数,

//那么该参数声明从字符串的尾部开始算起的位置。

//也就是说,-1 指字符串中最后一个字符,-2指倒数第二个字符,以此类推。

//length 可选。子串中的字符数。必须是数值。如果省略了该参数,

//那么返回从 stringObject 的开始位置到结尾的字串。

+wenBenWenZi.value :wenBenWenZi.value .substr(1);break;


//-1表示用indexOf没找到要找的字符,1表示用indexOf找到要找的字符

case ".":

wenBenWenZi. value=wenBenWenZi. value. indexOf(".")==-1?

wenBenWenZi. value+".": wenBenWenZi. value; break;

case "=":

var secondWenBenWenZi=wenBenWenZi. value;

switch(fuHao){

case "+":

//下面的一行代码编译器会默认以为两个变量是字符串,进而自动字符串拼接操作

//为防止这种情况就用Number转型为数字进行计算

wenBenWenZi.value=Number(firstWenBenWenZi)+Number(secondWenBenWenZi)



break;

case "-":


var jieguo=Number(firstWenBenWenZi)-Number(secondWenBenWenZi);

wenBenWenZi. value=jieguo;break;

break;

case "*":


wenBenWenZi.value=Number(firstWenBenWenZi)*Number(secondWenBenWenZi)



break;

case "/":


wenBenWenZi.value=Number(firstWenBenWenZi)/Number(secondWenBenWenZi)



break;}break;

}

}

}


}

}

//注释的都是因为代码多等原因而非最佳方案的弃用的方法

//function dianJi(chuanZhi){

//用getElementById获取文本框:

//var wenBenWenZi=document . getElementById("wenBenWenZiID");

//用. value获取按钮的值:

//var anniu=chuanZhi. value;

//wenBenWenZi.value=anniu;}

</script>

</head>

<body>

<div id="all">

<div id="wenBenKuang">

<!--disabled:有残疾的-->

<!--disabled="disabled" -->

<!--disabled 选择器匹配每个禁用的的元素(主要用于表单元素)。-->


<!-- readonly:只读的-->

<!-- disabledreadonly和两个属性都可以作用于input等表单元素上,

都使得元素成为“不可用”的状态

readonly表示“只读”,一般表示对于文字内容只读,即不可更改内容,

对于非文字的表单“只读”与“不只读”似乎没有啥区别;


disabled表示“使残废,使无效”,都残废了,那还管你有没有文字内容,都得残掉。

-->

<input type="text" readonly=" readonly" value="0"id="wenBenWenZiID" />

</div> 

<div id="anNiuID">

<input type= "button" value="c" />

<input type="button" value="←" />

<input type="button" value="+/-" />

<input type="button" value="+" />

<input type="button" value="1"  />

<!--onclick="dianJi(this)"-->

<input type="button" value="2"  />

<input type="button" value="3" />

<input type="button" value="-" />

<input type="button" value="4" />

<input type="button" value="5" />

<input type="button" value="6" />

<input type="button" value="*" />

<input type="button" value="7" />

<input type= "button" value="8" />

<input type= "button" value="9" />

<input type="button" value="/" />

<input type="button" value="0" />

<input type="button" value="." />

<input type="button" value="=" />

<!--“ms”存储显示的数字。“mr”再次调用存储的数字。

“m+”将当前显示的数与存储区中的数相加,

结果存入存储器 “mc”用于清除存储区中的数值-->

<input type="button" value="m" />

</div>

</div>

</body>

</html>



2.表格的移入换行(效果:鼠标移出每个tr的时候添加移出事件,将移出的tr的背景颜色改为原来的背景颜色)

<!DOCTYPE html>

<html>

<head>

<meta charset="utf-8" />

<title></title>

</head>

<style>

table{

width: 400px;height: 100px;margin: 0px auto;text-align: center;}

tr{

background-color:gray}

</style>

<script>

window. onload=function(){

//id选择器:document.getE lementById("ID的名称")

//标签选择器:document . getElementsByTagName("标签的名称")

//标签选择器:会获取页面上所有的执行标签,得到的内容是一个数组,

//可以通过下标去访问每个标签

var trShuZuVar=document . getElementsByTagName("tr");//tr的一个数组

//遍历每个tr,给每个tr赋值事件

for(var xiaBiao of trShuZuVar){

//给每个tr添加一个鼠标移入的事件

xiaBiao . onmouseover=function(){

//用this. style . backgroundColor改变当前的tr的背景颜色

this. style . backgroundColor="red";


}

xiaBiao. onmouseout=function(){

this. style . backgroundColor="gray";

}}


}

</script>

</head>

<body>

<table border="1px" cellspacing="0px">

<tr>

<td>诗</td>

<td>书</td>

<td>画</td>

<td>唱</td>

</tr>

<tr>

<td>赞</td>

<td>赞</td>

<td>赞</td>

<td>赞</td>

</tr>

<tr>

<td>币</td>

<td>币</td>

<td>币</td>

<td>币</td>

</tr>

<tr>

<td>藏</td>

<td>藏</td>

<td>藏</td>

<td>藏</td>

</tr>

</table>

</body>

</html>



JS题:简易个人美化计算器设计,扩展重命名的方法 ,表格的移入换行变色【诗书画唱】的评论 (共 条)

分享到微博请遵守国家法律