Blogger Information
Blog 38
fans 1
comment 0
visits 24450
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
5月10日作业
鲨鱼辣椒的博客
Original
613 people have browsed it

javascript 实现一个简单的计算器功能

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>迷你计算器</title>
	<style type="text/css">
		.box {
			width: 500px;
			height: 200px;
			background-color: #efefef;
			border: 1px solid lightgray;
			text-align: center;
			margin: 20px auto;
			color: #636363;
			border-radius: 15px;
			box-shadow: 2px 2px 2px #999;
		}

		table {
			margin: auto;
			/*参考线*/
			/*border: 1px solid red; */
		}

		td {
			width: 100px;
			height: 30px;
			padding: 5px 10px;
		}

		input, select {
			width: 100%;
			height:100%;
			border:none;
			text-align: left;
			padding-left: 15px;
			/*background-color: cyan;*/
		}

		button {
			width: 100%;
			height: 100%;
			border: none;
			background-color: skyblue;
			color: white;
		}
		button:hover {
			cursor: pointer;
			background-color: coral;
			width: 105%;
			height: 105%;
		}

	</style>
</head>
<body>
<!-- 1.获取页面元素的方法; 2.条件判断语句的使用方法 3.事件方法函数的作用 -->
<div class="box">
	<h2>小小计算器</h2>
	<form>
		<table>
			<tr>
				<td><input type="text" name="opt1" placeholder="操作数1" autofocus></td>
				<td>
					<select name="option">
						<option value="null">请选择操作</option>
						<option value="add"> + </option>
						<option value="sub"> - </option>
						<option value="mul"> * </option>
						<option value="div"> / </option>
					</select>
				</td>
				<td><input type="text" name="opt2" placeholder="操作数2"></td>
				<td><button type="button">计算</button></td>
			</tr>
			<tr>
				<td colspan="2" align="right"><h3>计算结果:</h3></td>
				<td colspan="2" align="left"><h3 id="result"></h3></td>
			</tr>
		</table>
	</form>
</div>

<script type="text/javascript">
	//获取到计算数1
	var opt1 = document.getElementsByName('opt1')[0];
	//获取到计算数1
	var opt2 = document.getElementsByName('opt2')[0];
	//获取到下拉公式
	var opt = document.getElementsByName('option')[0];

	//获取到计算按钮
	var btn = document.getElementsByTagName('button')[0];
	//获取到计算结果占位符
	var result = document.getElementById('result');


	//2.给计算按钮添加事件,执行计算操作
	btn.onclick = function () {
		var data1 = 0;
		var data2 = 0;
		
		
		if (opt1.value.length === 0){
			alert('第一个计算数值不能为空');
			opt1.focus();//给焦点获取到opt1输入框
			return false;
		}else if (isNaN(opt1.value)){
			alert('第一个计算数值必须为数字');
			opt1.focus();
			return false;
		}else if  (opt2.value.length === 0){
			alert('第2个计算数值不能为空');
			opt2.focus();//给焦点获取到opt1输入框
			return false;
		}else if (isNaN(opt2.value)){
			alert('第2个计算数值必须为数字');
			opt2.focus();
			return false;
		}else {
			data1 = parseFloat(opt1.value);
			data2 = parseFloat(opt2.value);
		}

		var option = opt.value;
		var temp = 0;
		var flag = '';
		
		switch (option) {
			case 'null':
				alert('请选择计算的类型');
				opt.focus();
				return false;
			case 'add':
				flag = '+';
				temp = data1 + data2;
				break;
			case 'sub':
				flag = '-';
				temp = data1 - data2;
				break;
			case 'mul':
				flag = '*';
				temp = data1 * data2;
				break;
			case 'div':
				flag = '/';
				if (data2 === 0){
					alert('除数不能为0,请你重新输入');
					opt2.focus();
					return false;
				}else {
					temp = data1 / data2 ;
					//保留两位小数点
					temp = Math.round(temp * 100 ) / 100;
				}
				break;
		}

		//计算最后结果输出
		var str = '<span style="color:coral">';
		str += data1+' '+flag+' '+data2 + ' = ' + temp ;
		str += '</span>';
		result.innerHTML =str;

	}

</script>
</body>
</html>

运行实例 »

点击 "运行实例" 按钮查看在线实例


Correction status:Uncorrected

Teacher's comments:
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post