Blogger Information
Blog 31
fans 0
comment 1
visits 24624
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
制作相册与计算器20180329
jobing的博客
Original
984 people have browsed it

非常抱歉,由于时间原因,对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的错误

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
1 comments
天蓬老师 2018-03-30 11:39:14
计算器呢?
1 floor
Author's latest blog post