批改状态:未批改
老师批语:
非常抱歉,由于时间原因,对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>点击 "运行实例" 按钮查看在线实例
相册效果展示图:





计算机效果展示图:





手写代码:





总结:JS代码编写思路
需要获取到要替换成的元素信息如图片文字等,用var进行定义
需要获取到页面被替换的元素对象,用var进行定义document.getElementByXX('标签中的XX')
将对应的元素进行替换,包含图像文字等,用XX=XX进行替换
获取到对象之后给按钮添加相关计算操作,并对各种情况进行判断,给出相应的提示
编写过程中一定要细心,不要再犯把document.getElementById写成document.getElementsById的错误
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号