Blogger Information
Blog 87
fans 0
comment 0
visits 59371
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
第十一节课作业:迷你计算器
黄忠倚的博客
Original
709 people have browsed it

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>3.迷你计算器</title>
	<style type="text/css">
			body, table {
				font-family: 'microsoft yahei', Verdana, Arial;
			}
			.box {
				width: 500px;
				height: 200px;
				background-color: #efefef;
				border: 1px solid lightgray;
				margin:20px auto;
				text-align: center;
				color: #636363;
				box-shadow: 2px 2px 2px #999;
			}
			table{
				margin:auto;
				/*border: 1px solid red;*/
			}
			td{
				/*border:1px solid blue;*/
				width: 100px;
				height: 30px;
				padding:5px 10px;

			}
			input, select {
				width: 100%;
				height: 100%;
				border: none;
				text-align: center;

			}
			button {
				width: 100%;
				height:100%;
				border: none;
				background-color: skyblue;
				color:white;

			}
			button:hover {
				width: 105%;
				height: 105%;
				background-color: coral;
				cursor: pointer;
			}


	</style>
</head>
<body><!-- 
	知识点:
	1.获取页面元素的方法
	2.条件判断句
	3.条件函数的用法 -->
	<div class="box">
		<h2>迷你计算器</h2>
		<form>
			<table>
				<tr>
					<td><input type="text" name="opt1" placeholder="操作数1"></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"><h3 style="float:right">结 果 :</h3></td>
					<td colspan="2"><h3 id="placeholder" style="float:left"></h3></td>
				</tr>
			</table>
		</form>
	</div>

	<script type="text/javascript">
	//1.获取操作数,按钮,结果占位符
		var opt1 = document.getElementsByName('opt1')[0]
		var opt2 = document.getElementsByName('opt2')[0]
		var opt = document.getElementsByName('option')[0]
		var btn = document.getElementsByTagName('button')[0]
		var placeholder = document.getElementById('placeholder')

	//2.给按钮添加事件,执行计算
		btn.onclick = function() {
			// alert(opt1.value)
			if (opt1.value.length ==0) {
				alert('操作数1不能为空')
				opt1.focus()
				return false
			} else if (isNaN(opt1.value)) {
				alert('非法数据:操作数1必须是数字')
			} else if (opt2.value.length ==0) {
				alert('操作数2不能为空')
				opt2.focus()
				return false
			} else if (isNaN(opt2.value)) {
				alert('非法数据:操作数2必须是数字')
			} else {
				// var data1 = opt1.value
				// var data2 = opt2.value
				
				var data1 = parseFloat(opt1.value)
				var data2 = parseFloat(opt2.value)
			}
			// alert(data1+data2)
			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')
							return false
						} else {
							temp = data1 / data2
						}
					break
			}
			//首先找到占位符,然后用innerHTML给它里面添加计算数据:data1+空格+运算符号+空格+data2+等号+保存的计算结果.即:placeholder.innerHTML = data1 + '' +flag+ '' +data2+ '=' + temp
			// placeholder.innerHTML ='<span style="color:coral">' data1 + '' +flag+ '' +data2+ '=' + temp + '</span>' 此样式代码不友好,须优化。
			var str = '<span style="color:coral">'
			str += data1 + '' +flag+ '' +data2+ '=' + temp
			str += '</span>'
			placeholder.innerHTML = str
		}
	</script>
</body>
</html>

运行实例 »

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


Correction status:qualified

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