博客列表 >制作相册与计算器20180329

制作相册与计算器20180329

jobing的博客
jobing的博客原创
2018年03月30日 07:26:40983浏览

非常抱歉,由于时间原因,对js的代码不熟悉,在编写相册过程出现了错误,一直未检查出来,最后发现是在获取页面要被替换的元素时,代码document.getElementById中多了个s,当时这个也是联想出来的,没有注意,导致图像一直跳转,错误:var img = document.getElementsById('images'),正确:var img = document.getElementById('imgages');在编写迷你计算器时也出现了点错误,给按钮添加事件的时候,有个大括号{},中间编写的时候可能不小心删除了后一半,导致最后结束的时候大括号没有另外一半,执行计算按钮没有用。希望其他同学也引以为戒。

相册代码:


实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<title>我的动画相册</title>
	<style type="text/css">
		.box{
			width: 800px;
			height: 700px;
			text-align: center;
			border: 1px solid red;
			background-color: skyblue;
			box-shadow: 3px 3px 3px #999;
			margin: 30px auto;
		}
		.box ul{
			padding: 0;
			margin: 0;
			overflow: hidden;
		}
		.box ul li{
			list-style-type: none;
			float: left;
			width: 150px;
			height: 80px;
			line-height: 80px;
			margin-left:40px;
			background-color: lightgreen;
			
		}
		.box ul li a{
			display: block;
			width: 100%;
			height: 100%;
			
			color: white;
			text-decoration: none;
		}
		.box ul li a:hover{
			font-size: 1.2em;
			color: red;
		}
		.box .pic{
            width: 720px;
            height: 400px;
            line-height: 1px;
            margin: auto;
            margin-top: 20px;
            border: 1.5px solid gray
		}
		.box .pic img{
			width: 100%;
			height: 100%;
		}
	</style>
</head>
<body>
	<div class="box">
		<h2>我的动画相册</h2>
		<ul>
			<li><a href="images/1.jpg" title="圣斗士星矢" onclick="changePic(this);return false">小学时代</a></li>
			<li><a href="images/2.jpg" title="游戏王" onclick="changePic(this);return false">初中时代</a></li>
			<li><a href="images/3.jpg" title="火影忍者" onclick="changePic(this);return false">高中时代</a></li>
			<li><a href="images/4.jpg" title="海贼王" onclick="changePic(this);return false">大学时代</a></li>
		</ul>
		<div class="pic">
			<img src="images/0.jpg" alt="动画展示" id="imgage">
		</div>
		<p id="instruction"></p>
	</div>

	<script type="text/javascript">
		function changePic(pic){
			// 获取需要替换成的元素
			var url = pic.href
			var info = pic.title
		    var name = pic.innerHTML

            // 获取需要被替换的元素
			var img = document.getElementById('imgage')
			var ins = document.getElementById('instruction')
            
            // 将对应的图像和信息进行替换
			img.src = url
			ins.innerHTML = '<span style="color:blue">' +name+':'+info+'</span>'			  
		}
	</script>
</body>
</html>

运行实例 »

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

迷你计算器代码:

实例

<!DOCTYPE html>
<html lang="en">
<head>
	<meta charset="UTF-8">
	<style type="text/css">
		.box{
			width: 500px;
			height: 200px;
			margin: 20px auto;
			text-align: center;
			border: 1px solid #666;
			border-radius: 5px;
			box-shadow: 2px 2px 2px #999;
			background-color: skyblue;
		}
		.box2{
			width: 100%;
			height: 50px;
		}
		.box2 input{
			width: 150px;
			height: 30px;
			
		}
		.box2 select{
			width: 105px;
			height: 35px;
		}
		.box2 button{
			width: 50px;
			height: 35px;
		}
		.box2 button:hover{
			background-color: orange;
		}

		.box3{
			width: 100%;
			height: 30px;
		}
		.box3 h3{
			width: 150px;
			height: 30px;
			float: left;
			margin: 10px auto;			
		}
	</style>
	<title>计算器</title>
</head>
<body>
	<div class="box">
		<div class="box1"><h2>迷你计算器</h2></div>		
        <div class="box2">
			<input type="text" name="opt1" placeholder="操作数1">
			<select name="opt">
				<option value="null">请选择操作</option>
				<option value="add"> + </option>
				<option value="sub"> - </option>
				<option value="mul"> * </option>
				<option value="div"> / </option>		
			</select>
			<input type="text" name="opt2" placeholder="操作数2">
			<button type="button">计算</button>
		</div>
		<div class="box3">
			<h3>结果:</h3>
			<h3 id="placeholder"></h3>
		</div>

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


			var btn = document.getElementsByTagName('button')[0]
			var placeholder = document.getElementById('placeholder')

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

			var option = opt.value
			var flag = ''
			var result = ''

				switch (option){
					case 'null':
					alert('请选择操作类型')
					opt.focus()
					return false

					case 'add':
					flag = '+'
					result = data1 + data2
					break

					case 'sub':
					flag = '-'
					result = data1 - data2
					break

					case 'mul':
					flag = '*'
					result = data1 * data2
					break

					case 'div':
					if (data2 == 0){
						alert('除数不能为0,请重新输入')
						opt2.focus()
						return false
					}else{
						flag = '/'
						result = data1 / data2
					 	break
					}
				}

			var res = '<span style="color:red">'
			res += data1+flag+data2+'='+result
			res += '</span>'

			placeholder.innerHTML = res
			}

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

运行实例 »

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


相册效果展示图:

1.png2.png3.png4.png5.png

计算机效果展示图:

1.png3.png5.png4.png2.png

手写代码:

1.jpg2.jpg3.jpg4.jpg5.jpg

总结:JS代码编写思路

  1. 需要获取到要替换成的元素信息如图片文字等,用var进行定义

  2. 需要获取到页面被替换的元素对象,用var进行定义document.getElementByXX('标签中的XX')

  3. 将对应的元素进行替换,包含图像文字等,用XX=XX进行替换

  4. 获取到对象之后给按钮添加相关计算操作,并对各种情况进行判断,给出相应的提示

  5. 编写过程中一定要细心,不要再犯把document.getElementById写成document.getElementsById的错误

声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议
天蓬老师2018-03-30 11:39:141楼
计算器呢?