本次作业通过两个小案例,熟悉javascript的基本知识点。
第一个案例是制作一个明星相册,可以通过点击明星名字显示其相片及主要作品。
第二个案例是制作一个迷你计算器,可以实现加、减、乘、除运算,并显示结果,同时具备一定的数据校验功能,并给出提示。下面就是两个案例的代码。
1 明星相册案例代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>js实战明星相册-3月29日作业</title>
<style type="text/css">
.box{
width: 500px;
height: 700px;
background-color: #efefef;
border: 1px solid lightgray;
margin: 20px auto;
text-align: center;
color: #636363;
box-shadow: 2px 2px 2px #999;
}
.box ul{
margin: 0;
padding: 0;
overflow: hidden;
}
.box ul li{
list-style: none;
float: left;
background-color: skyblue;
margin-left: 20px;
text-shadow: 1px 1px 1px #999;
}
.box ul li a{
display: block;
width: 100px;
height: 40px;
line-height: 40px;
color: white;
text-decoration: none;
}
.box ul li:hover{
font-size: 1.2em;
background-color: coral;
}
.box .pic{
width: 450px;
height: 470px;
border: 1px solid lightgray;
line-height: 1px;
margin: auto;
margin-top: 50px;
}
.box .pic img{
width: 100%;
height: 100%;
}
</style>
</head>
<body>
<!-- 知识点:1、js代码写在哪里。2、如何调用。 3、函数的用法。 -->
<div class="box">
<h2>明星相册</h2>
<ul>
<li>
<!-- onclick="changePic(this);":添加onclick动作,函数内容在下面的script标签中书写;
return false:(禁止当前链接生效) -->
<a href="../images/zly.jpg" title="《楚乔传》,《花千骨》,《陆贞传奇》..." onclick="changePic(this);return false">赵丽颖</a>
</li>
<li>
<a href="../images/gyy.jpg" title="《倚天屠龙记》,《我们结婚吧》,《爱无悔》..." onclick="changePic(this);return false">高圆圆</a>
</li>
<li>
<a href="../images/sl.jpg" title="《那年花开月正圆》,《甄环传》,《玉观音》..." onclick="changePic(this);return false" >孙俪</a>
</li>
<li>
<a href="../images/fbb.jpg" title="《还珠格格》,《武媚娘传奇》,《我不是潘金莲》..." onclick="changePic(this);return false">范冰冰</a>
</li>
</ul>
<div class="pic">
<img src="../images/zwt.png" alt="" id="img">
</div>
<!-- !!!注意此处p标签设置的是id,因为开始这里使用了class而导致后面获取不到正确的信息,使相片一直无法正确打开,查了很长时间才发现 -->
<p id="info"></p>
</div>
<script type="text/javascript">
function changePic(pic1){
var picUrl = pic1.href
var picInfo = pic1.title
var picName = pic1.innerHTML
var img = document.getElementById('img')
var p = document.getElementById('info')
img.src=picUrl
// 给输出信息加样式
p.innerHTML='<span style="color:coral">'+picName+':'+picInfo+'</span>'
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
效果图:

2 迷你计算器代码:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>迷你计算器-3月29日作业</title>
<style type="text/css">
.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;
}
td{
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{
background-color: coral;
width: 105%;
height: 105%;
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>结果:</h3></td>
<td colspan="2" align="left"><h3 id="placeholder"></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]
// 用标签名来获取,TagaName
var btn = document.getElementsByTagName('button')[0]
var placeholder = document.getElementById('placeholder')
//2、给按钮加事件,执行计算
btn.onclick = function(){
if (opt1.value.length == 0){
alert('第一个操作数不能为空')
// 焦点放在op1
opt1.focus()
return false
} else if (isNaN(opt1.value)) {
alert('非法数据:第一个操作数必须是数字')
} else if (opt2.value.length == 0){
alert('第二个操作数不能为空')
// 焦点放在op1
opt2.focus()
return false
} else if (isNaN(opt2.value)) {
alert('非法数据:第二个操作数必须是数字')
} else {
var data1=parseFloat(opt1.value)
var 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')
return false
} else {
temp = data1 / data2
}
break
}
// placeholder.innerHTML = '<span style="color:skyblue">'+data1 + ' '+flag+' '+data2+'='+temp+'</span>'
var str = '<span style="color:#1874CD">'
str +=data1 + ' '+flag+' '+data2+'='+temp
str +='</span>'
placeholder.innerHTML = str
}
</script>
</body>
</html>点击 "运行实例" 按钮查看在线实例
迷你计算器手抄代码:



本课小结:
1.概念:
1-1:js是什么?html写结构,css写样式,js写元素行为与用户交互的,使页面更加的智能,更懂我
1-2:js是客户端的脚本语言,它是直接写到当前的html页面中执行的,不需要服务器环境支持
2.引入方式:
2-1: 标签事件属性中: onclick, onmouseover...
2-2: 写到'<script>js代码</script>',不允许有src属性,否则代码无效
2-3: 写在外部独立的js文件中,用<scirpt src=""></scirpt>进行导入
3.重点: 使用<script>标签编写的js代码应该放在页面中的什么位置最合适?
3-1: 可以放在<head>中
3.2: 可以放在<body>中
3.3: 甚至可以放在<html>标签的外面
所以js代码放在哪里不重要,都会被当前页面加载并执行的
4.变量:
4-1: 声明 var name='peter'
4-2: 如果不用var 声明,会自动成为全局对象window的属性,这是不推荐的
5.类型:
5-1:五个基本类型: Number,String,Boolean, Undefined, Null
5-2:三个对象类型: Object, Array, Function
5-3: 类型检测 typeof
6. 基本操作:
6-1: 算术运算: +,-,*,/, %
6-2: 字符串连接: +
6-3: 比较运算: <,>,==...
6-4: 赋值: =
6-5: 逻辑运行: &&, || , !
7. 语言结构:
7-1: 条件判断: if,if~else,if~else if ,switch, 三元
7-2: 循环: while, do~while, for()
8. 作用域:
js与php一样,没有块作用域,只有函数作用域与全局作用域,任何变量或函数必属其一
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号