博客列表 >JS-明星相册和迷你计算器-2018年3月30日17时45分

JS-明星相册和迷你计算器-2018年3月30日17时45分

日薪月e的博客
日薪月e的博客原创
2018年03月30日 17:55:25975浏览

本次作业通过两个小案例,熟悉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>

运行实例 »

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

效果图:

00-1.png

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>

运行实例 »

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

迷你计算器手抄代码:

01.jpg

02.jpg

03.jpg

本课小结:

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一样,没有块作用域,只有函数作用域与全局作用域,任何变量或函数必属其一


声明:本文内容转载自脚本之家,由网友自发贡献,版权归原作者所有,如您发现涉嫌抄袭侵权,请联系admin@php.cn 核实处理。
全部评论
文明上网理性发言,请遵守新闻评论服务协议