制作计算器(JavaScript)

1. 任务要求

        1)掌握数据的类型转换

        2)学会获取文本框控件的数据以及给相应控件赋值

        3)掌握有参函数的定义

        4)学会使用数值判断函数

        5)学会使用eval()方法编译字符串算式

2. 需求说明

    完成如下图所示的计算器,在页面单击数字和运算符能实现相应运算,单击AC可以实现清除屏幕内容。

3. 实现思路

        1)在TNumber函数里实现对输入的数据进行累加,以便后面计算结果。

        2)同时可以定义一个sum,将点击的每个按钮值进行累加,以便最后可以输出式子。

        3)在Clear函数里实现点击“AC”按钮对txt进行清空,以及将sum=“”设为空。

        4)在计算结果Calculator函数里使用eval()函数计算最终结果。

4.实现思路(JS部分的代码)

<script type="text/javascript">
	var sum="";
	function TNumber(value){
		document.getElementById("txt").value+=value;
		sum+=value;
	}
	function Clear(){
		document.getElementById("txt").value="";
		sum="";
		sum1="";
	}
	function Calculator(){
		document.getElementById("txt").value=sum+"="+eval(sum);
	}
</script>

5. 运行结果

 6. 全部代码(其中的图片需要注意一下)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>计算器</title>
	<style type="text/css">
		#calculator
		{
			margin: 0 auto;
			border: #000  2px solid;
			border-radius: 15px 15px 15px 15px;
			width: 300px;
			height: 460px;
			background-image: url(img/background5.jpg);//url图片需要自己设定
		}
		#hiddentxt
		{
			height: 100px;
		}
		#txt
		{
			width: 88%;
			height: 80px;
			border-radius: 12px 12px 12px 12px;
			font-size: 24px;
			font-weight: bold;
			background: #F4F4F4;
			color: #080808;
			border: black 5px solid;
			margin-top: 15px;
			margin-left:12px;
			font-family: "Comic Sans MS", "Leelawadee UI";
		}
		input[type=button]
		{
			width: 56px;
			height: 56px;
			margin-top: 10px;
			margin-left: 13px;
			border-radius: 10px;
			font-size: 20px;
			font-weight: bold;
			background: #fff;
			font-family:"Comic Sans MS";
		}
		#Zero,#AC
		{
			width: 129px;
		}
		input[type=button]:hover
		{
			color: #fff;
			background: #000;
			animation-name:mybutton;
			animation-duration: 0.8s;
       	    animation-timing-function:ease-in-out;
		}
		@keyframes mybutton
		{
			0%
			{
				background: #fff;
				color: #000;
			}
	
			100%
			{
				background:#000;
				color: #fff;
			}
		}
	</style>
</head>

<body>
	<div id="calculator">
		
	<input type="text" id="txt"  readonly><br>
	<input type="button" id="AC" value="AC" onClick="Clear()">
	<input type="button"  onClick="TNumber(this.value)" value="/">
	<input type="button"  onClick="TNumber(this.value)" value="%">
	<br>
		
	<input type="button" id="Seven" onClick="TNumber(this.value)" value="7">
	<input type="button" id="Eight" onClick="TNumber(this.value)" value="8">
	<input type="button" id="Nine" onClick="TNumber(this.value)" value="9">
	<input type="button"  onClick="TNumber(this.value)" value="+">
	<br>
		
	<input type="button" id="Four"  onClick="TNumber(this.value)" value="4">
	<input type="button" id="Five" onClick="TNumber(this.value)" value="5">
	<input type="button" id="Six" onClick="TNumber(this.value)" value="6">
	<input type="button"  onClick="TNumber(this.value)" value="-">
	<br>
		
	<input type="button" id="One"  onClick="TNumber(this.value)" value="1" >
	<input type="button" id="Two"  onClick="TNumber(this.value)" value="2"  >
	<input type="button" id="Three" onClick="TNumber(this.value)" value="3">
	<input type="button"  onClick="TNumber(this.value)" value="*">
	<br>

	<input type="button" id="Zero" onClick="TNumber(this.value)" value="0">
	<input type="button" id="Dot" onClick="TNumber(this.value)" value=".">
	<input type="button"  onClick="Calculator()" value="=">
		
	</div>
	
	<script type="text/javascript">
		var sum="";
		function TNumber(value){
			document.getElementById("txt").value+=value;
			sum+=value;
		}
		function Clear(){
			document.getElementById("txt").value="";
			sum="";
			sum1="";
		}
		function Calculator(){
			document.getElementById("txt").value=sum+"="+eval(sum);
		}
	</script>
</body>
</html>
  • 15
    点赞
  • 71
    收藏
    觉得还不错? 一键收藏
  • 9
    评论
以下是一个简单的JavaScript计算器的实现,包括HTML、CSS和JavaScript部分的代码: HTML部分: ```html <!DOCTYPE html> <html> <head> <title>JavaScript Calculator</title> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <div class="calculator"> <input type="text" id="txt" readonly> <table> <tr> <td><input type="button" value="C" onclick="Clear()"></td> <td><input type="button" value="/" onclick="TNumber('/')"></td> <td><input type="button" value="*" onclick="TNumber('*')"></td> <td><input type="button" value="-" onclick="TNumber('-')"></td> </tr> <tr> <td><input type="button" value="7" onclick="TNumber('7')"></td> <td><input type="button" value="8" onclick="TNumber('8')"></td> <td><input type="button" value="9" onclick="TNumber('9')"></td> <td><input type="button" value="+" onclick="TNumber('+')"></td> </tr> <tr> <td><input type="button" value="4" onclick="TNumber('4')"></td> <td><input type="button" value="5" onclick="TNumber('5')"></td> <td><input type="button" value="6" onclick="TNumber('6')"></td> <td rowspan="2"><input type="button" value="=" onclick="Calculator()"></td> </tr> <tr> <td><input type="button" value="1" onclick="TNumber('1')"></td> <td><input type="button" value="2" onclick="TNumber('2')"></td> <td><input type="button" value="3" onclick="TNumber('3')"></td> </tr> <tr> <td colspan="2"><input type="button" value="0" onclick="TNumber('0')"></td> <td><input type="button" value="." onclick="TNumber('.')"></td> <td><input type="button" value="%" onclick="TNumber('%')"></td> </tr> </table> </div> <script type="text/javascript" src="script.js"></script> </body> </html> ``` CSS部分: ```css .calculator { width: 300px; margin: 0 auto; padding: 20px; background-color: #f2f2f2; border-radius: 10px; box-shadow: 0 0 10px #ccc; } .calculator input[type="text"] { width: 100%; height: 50px; font-size: 24px; text-align: right; margin-bottom: 10px; padding: 5px; border-radius: 5px; border: none; box-shadow: 0 0 5px #ccc; } .calculator table { width: 100%; } .calculator td { padding: 5px; } .calculator input[type="button"] { width: 100%; height: 50px; font-size: 24px; background-color: #fff; border-radius: 5px; border: none; box-shadow: 0 0 5px #ccc; cursor: pointer; } .calculator input[type="button"]:hover { background-color: #f2f2f2; } ``` JavaScript部分: ```javascript var sum = ""; function TNumber(value) { document.getElementById("txt").value += value; sum += value; } function Clear() { document.getElementById("txt").value = ""; sum = ""; } function Calculator() { document.getElementById("txt").value = sum + "=" + eval(sum); } ```
评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值