HTML中JavaScript制作简易科学计算器

HTML中JavaScript制作简易科学计算器

通过JavaScript函数的定义以及事件的应用,制作科学计算器。

主体部分

先制作计算器版面的按键部分和输入框

<body onload="onLoad()">
		<p id="ins">使用说明:如需使用sin cos tan log四个功能按钮,需先输入被计算对象,
			然后直接点击该按钮,窗口即得出结果。其他计算需先按好所有操作数,再按“=”</p>
		<div id="calculator">
			<div id="input">
				<div class="screen">
					<input type="text" id="Screen" name="Screen" class="screen" value="" onfocus="cal(this)">
				</div>
			</div>
		<div id="keys">
			<!--1至第5排的按键 -->
			<input type="button" id="sin" class="key" onclick="sin()" value="sin" />
			<input type="button" id="cos" class="key" onclick="cos()" value="cos" />
			<input type="button" id="tan" class="key" onclick="tan()" value="tan" />
			<input type="button" id="log" class="key" onclick="log()" value="log" />
			
			<input type="button" id="(" class="key" onclick="cal(this.id)" value="(" />
			<input type="button" id=")" class="key" onclick="cal(this.id)" value=")" />
			<input type="button" id="Back" class="key" onclick="back()" value="Back" />
			<input type="button" id="C" class="key" onclick="clearNum()" value="C" />

			<input type="button" id="7" class="key" onclick="cal(this.id)" value="7" />
			<input type="button" id="8" class="key" onclick="cal(this.id)" value="8" />
			<input type="button" id="9" class="key" onclick="cal(this.id)" value="9" />
			<input type="button" id="/" class="key" onclick="cal(this.id)" value="/" />

			<input type="button" id="4" class="key" onclick="cal(this.id)" value="4" />
			<input type="button" id="5" class="key" onclick="cal(this.id)" value="5" />
			<input type="button" id="6" class="key" onclick="cal(this.id)" value="6" />
			<input type="button" id="*" class="key" onclick="cal(this.id)" value="*" />

			<input type="button" id="1" class="key" onclick="cal(this.id)" value="1" />
			<input type="button" id="2" class="key" onclick="cal(this.id)" value="2" />
			<input type="button" id="3" class="key" onclick="cal(this.id)" value="3" />
			<input type="button" id="-" class="key" onclick="cal(this.id)" value="-" />

			<input type="button" id="0" class="key" onclick="cal(this.id)" value="0" />
			<input type="button" id="." class="key" onclick="cal(this.id)" value="." />
			<input type="button" id="=" class="key" onclick="eva()" value="=" />
			<input type="button" id="+" class="key" onclick="cal(this.id)" value="+" />
		<p>这不是一个普通的计算器</p>	
			
		</div>

附CSS代码块:


           #ins{
				margin: 15px auto;
				width: 300px;
			}
			#calculator {
				background-color: cadetblue;
				margin: 15px auto;
				width: 300px;
				height: 480px;
				border: 1px solid lightblue;
				padding: 15px;
			}
			
			#input {
				margin-top: 15px;
			}
			
			.screen {
				margin-top: 5px;
				width: 284px;
				height: 40px;
				text-align: right;
				padding-right: 10px;
				font-size: 20px;
			}
			
			#keys {
				border: 1px solid lightblue;
				height: 345px;
				margin-top: 25px;
				padding: 8px;
			}
			
			#keys .key {
				float: left;
				width: 50px;
				height: 35px;
				text-align: center;
				background-color: lightblue;
				margin: 5px 10px 20px 10px;
			}
			.Text {
				height: 20px;
			}
			
			.Text .calName {
				float: left;
				line-height: 30px;
			}
			
			.Text .calVerson {
				float: right;
				line-height: 30px;
			}

效果如图:
在这里插入图片描述

JavaScript功能实现

一般功能的实现:

            function cal(num) { //获取输入
				document.getElementById("Screen").value += document.getElementById(num).value;
			}

			function eva() {
				document.getElementById("Screen").value = eval(document.getElementById("Screen").value);
			}
			//eval() 函数计算 JavaScript 字符串,并把它作为脚本代码来执行。

			function back() {
				var n = document.getElementById("Screen");
				n.value = n.value.substring(0, n.value.length - 1);
			}

			function clearNum() {
				var n = document.getElementById("Screen").value="";
				
			}

			function onLoad() {
				//加载完毕后光标自动对应到输入框
				document.getElementById("Screen").focus();
			}

然后是几个特殊函数:

            function sin() {
                document.getElementById("Screen").value=Math.sin(document.getElementById("Screen").value);
			}
			function cos() {
                document.getElementById("Screen").value=Math.cos(document.getElementById("Screen").value); 
			}
			function tan() {
                document.getElementById("Screen").value=Math.tan(document.getElementById("Screen").value); 
			}
			function log(){
				document.getElementById("Screen").value=Math.log(document.getElementById("Screen").value);
			}

至此,完美完成。
在这里插入图片描述
在这里插入图片描述
样式有点老旧 但整体感观尚可

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值