实验四渲染

该实验旨在通过jQuery实现页面初始化,如偶数行背景色变换,以及添加查看链接功能。链接点击后在新页面打开,并传递GET参数。在detail.html页面中,接收并解析URL参数,使用jQuery更新表格内容并显示对应图片。
摘要由CSDN通过智能技术生成
  • 实验目的

本实验目标为掌握jQuery库的应用、页面初始化、页面元素操作等基本用法。支撑专业核心能力的培养。

  • 实验内容
  1. 掌握jQuery页面初始化方法
  2. 掌握jQuery的选择器的使用
  3. 掌握jQuery对Dom 的操作
  4. 熟悉jQuery的页面动画

jQuery选择器;

jQuery页面元素操作;

jQuery页面动画;

    

  • 实验过程

 1、修改css/main.css文件调整oscarlist.html中的表格样式

(1) 将所有偶数行背景色改为#dddddd

(2) 利用CSS伪类选择器,鼠标移上偶数行背景色改为#3dc1f1,鼠标移上奇数行背景色改为#bbedff

2、引用jQuery包,编写jQuery代码

(1) 为表格添加最后一列,该列所有单元格均放置一个“查看”链接,点击链接后在新页面打开detail.html,并构造get参数放入链接所在行所有的内容。

原理:构造包含链接的单元格HTML代码(例:<td><a href="…" target="_blank">查看</a></td>),再追加到每个tr尾部即可,最好使用append方法;构造链接的URL时,需要提取本行所有单元格的内容,先利用jQuery选择链接所在行的前5个单元格,再使用text()方法提取单元格内的内容

3、修改detail.html代码,引用jQuery包,编写jQuery代码

(1) 接收URL中的get参数,原理:先提取URL,然后再使用正则表达式识别URL中的各参数值:

提取URL的方法:window.location.href

提取到参数值后再解码,例:decodeURI("72%E5%B1%8A")

(2) 通过jQuery的html方法将所有的get参数渲染到表格对应的单元格中,再将影片的中文名写入到网页的title中

(3) 通过jQuery显示对应的剧照图片,只需修改图片的src属性即可,图片路径格式为"images/获奖年份.jpg"。

页面一

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Oscar List</title>
	<link href="css/main.css" rel="stylesheet" type="text/css" />
	<script src="js\jquery-3.1.1.min.js">
	</script>
	<script>
		$().ready(function () {
			var $tr0 = $("tr:first");
			$tr0.append($('<th></th>'));
			$("tr:gt(0)").each(function () {
				$("tr:even").css("background-color", "#dddddd")
				$(function () {
					$("tr:even").mouseenter(function () {
						$(this).css("background-color", "#3dc1f1")
					})
					$("tr:odd").mouseenter(function () {
						$(this).css("background-color", "#bbedff")
					})
				})
				var url = "detail.html"
				url += "?year" + $(this).find("td").eq(0).text();
				url += "&number" + encodeURIComponent($(this).find("td").eq(1).text());
				url += "&cnname" + encodeURIComponent($(this).find("td").eq(2).text());
				url += "&enname" + encodeURIComponent($(this).find("td").eq(3).text());
				url += "&showyear" + encodeURIComponent($(this).find("td").eq(4).text());
				$(this).append("<td><a href='" + url + "'>查看</a></td>");
			});
		});
	</script>
</head>

<body>
	<div id="main_area">
		<table id='main_table' cellpadding="0" cellspacing="0">
			<tr>
				<th>年份</th>
				<th>奥斯卡</th>
				<th>影片(中文名)</th>
				<th>影片(英文名)</th>
				<th>上映年份</th>
			</tr>
			<tr>
				<td>2023</td>
				<td>95届</td>
				<td>瞬息全宇宙</td>
				<td>Everything Everywhere All at Once</td>
				<td>2022</td>
			</tr>
			<tr>
				<td>2022</td>
				<td>94届</td>
				<td>健听女孩</td>
				<td>Children of Deaf Adults</td>
				<td>2021</td>
			</tr>
			<tr>
				<td>2021</td>
				<td>93届</td>
				<td>无依之地</td>
				<td>Nomadland</td>
				<td>2020</td>
			</tr>
			<tr>
				<td>2020</td>
				<td>92届</td>
				<td>极速车王</td>
				<td>Ford v.Ferrari</td>
				<td>2019</td>
			</tr>
			<tr>
				<td>2019</td>
				<td>91届</td>
				<td>绿皮书</td>
				<td>Green Book</td>
				<td>2018</td>
			</tr>
			<tr>
				<td>2018</td>
				<td>90届</td>
				<td>水形物语</td>
				<td>The Shape of Water</td>
				<td>2018</td>
			</tr>
			<tr>
				<td>2017</td>
				<td>89届</td>
				<td>月光男孩</td>
				<td>Moonlight</td>
				<td>2017</td>
			</tr>
			<tr>
				<td>2016</td>
				<td>88届</td>
				<td>聚焦</td>
				<td>Spotlight</td>
				<td>2016</td>
			</tr>
			<tr>
				<td>2015</td>
				<td>87届</td>
				<td>鸟人</td>
				<td>Birdman</td>
				<td>2015</td>
			</tr>
			<tr>
				<td>2014</td>
				<td>86届</td>
				<td>为奴十二年</td>
				<td>12 Years a Slave</td>
				<td>2014</td>
			</tr>
			<tr>
				<td>2013</td>
				<td>85届</td>
				<td>逃离德黑兰</td>
				<td>Argo</td>
				<td>2013</td>
			</tr>
			<tr>
				<td>2012</td>
				<td>84届</td>
				<td>艺术家</td>
				<td>The Artist</td>
				<td>2011</td>
			</tr>
			<tr>
				<td>2011</td>
				<td>83届</td>
				<td>国王的演讲</td>
				<td>The King's Speech</td>
				<td>2010</td>
			</tr>
			<tr>
				<td>2010</td>
				<td>82届</td>
				<td>拆弹部队</td>
				<td>The Hurt Locker</td>
				<td>2008</td>
			</tr>
			<tr>
				<td>2009</td>
				<td>81届</td>
				<td>贫民窟的百万富翁</td>
				<td>Slumdog Millionaire</td>
				<td>2008</td>
			</tr>
			<tr>
				<td>2008</td>
				<td>80届</td>
				<td>老无所依</td>
				<td>No Country for Old Men</td>
				<td>2007</td>
			</tr>
			<tr>
				<td>2007</td>
				<td>79届</td>
				<td>无间道风云</td>
				<td>The Departed</td>
				<td>2006</td>
			</tr>
			<tr>
				<td>2006</td>
				<td>78届</td>
				<td>撞车</td>
				<td>Crash</td>
				<td>2004</td>
			</tr>
			<tr>
				<td>2005</td>
				<td>77届</td>
				<td>百万美元宝贝</td>
				<td>Million Dollar Baby</td>
				<td>2004</td>
			</tr>
			<tr>
				<td>2004</td>
				<td>76届</td>
				<td>指环王3</td>
				<td>The Lord of the Rings: The Return of The King</td>
				<td>2003</td>
			</tr>
			<tr>
				<td>2003</td>
				<td>75届</td>
				<td>芝加哥</td>
				<td>Chicago</td>
				<td>2002</td>
			</tr>
			<tr>
				<td>2002</td>
				<td>74届</td>
				<td>美丽心灵</td>
				<td>A Beautiful Mind</td>
				<td>2001</td>
			</tr>
			<tr>
				<td>2001</td>
				<td>73届</td>
				<td>角斗士</td>
				<td>Gladiator</td>
				<td>2001</td>
			</tr>
			<tr>
				<td>2000</td>
				<td>72届</td>
				<td>美国丽人</td>
				<td>American Beauty</td>
				<td>2000</td>
			</tr>
		</table>
	</div>
</body>

</html>

页面二:

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">

<head>
	<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
	<title>Detail</title>
	<link href="css/main.css" rel="stylesheet" type="text/css" />
	<script src="js\jquery-3.1.1.min.js">
	</script>
	<script>
		$().ready(function () {
			var url = window.location.href;
			var ur2 = decodeURI(url);
			var params = ur2.split("?")[1];
			var text = params.split("&");
			var text0 = text[0].replace("year", "");
			var text1 = text[1].replace("numberr", "");
			var text2 = text[2].replace("cnname", "");
			var text3 = text[3].replace("enname", "");
			var text4 = text[4].replace("showyear", "");
			$("#moviepic").attr("src", "images/" + text0 + ".jpg");
			$("tr #year").html(text0);
			$("tr #number").html(text1);
			$("tr #cnname").html(text2);
			$("tr #enname").html(text3);
			$("tr #showyear").html(text4);

		});
	</script>
</head>

<body>
	<div id="main_area">
		<img id="moviepic" src="images/.jpg" /><br>
		<table id="detail_table" cellpadding="0" cellspacing="0">
			<tr>
				<td>获奖年份</td>
				<td id="year">1</td>
			</tr>
			<tr>
				<td>届数</td>
				<td id="number">2</td>
			</tr>
			<tr>
				<td>影片中文名</td>
				<td id="cnname">3</td>
			</tr>
			<tr>
				<td>影片英文名</td>
				<td id="enname">4</td>
			</tr>
			<tr>
				<td>上映年份</td>
				<td id="showyear">5</td>
			</tr>
		</table>
	</div>
</body>

</html>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值
>