web实训知识点_0416_jQuery尺寸控制,以及slide(滑动复习)

上节课的回顾:二级菜单的jQuery实现方法

使用show()和hide()实现二级菜单效果:

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<title>jQuery二级菜单</title>
		<style>
			body{
				list-style: none;
				margin: 8px;
				text-decoration: none;
				color: black;
			}
			ul{
				list-style: none;
				float: left;
			}
			li{
				width: 80px;
				height: 20px;
				background-color: yellow;
				border-right: 1px solid black;
				float: left;
			}
			a{
				text-decoration: none;
				color: black;
			}
			ul li ul{
				position: relative;
				left: -40px;
			}
		</style>
		<script src="jquery-1.8.3.min.js"></script>
		<script>
			$(document).ready(function(){
				$(".turnUp").children("ul").hide();
				$(".turnUp").mouseover(function(){
					$(this).children("ul").show();
				})
				$(".turnUp").mouseout(function(){
					$(this).children("ul").hide();
				})
			})
		</script>
	</head>
	<body>
		<ul>
			<li><a href="#">一级菜单</a></li>
			<li class="turnUp"><a href="#">一级菜单</a>
			<ul>
				<li><a href="#">二级菜单</a></li>
				<li><a href="#">二级菜单</a></li>
			</ul>
			</li>
			<li class="turnUp"><a href="#">一级菜单</a>
			<ul>
				<li><a href="#">二级菜单</a></li>
				<li><a href="#">二级菜单</a></li>
				<li><a href="#">二级菜单</a></li>
				<li><a href="#">二级菜单</a></li>
			</ul>
			</li>
			<li><a href="#">一级菜单</a></li>
			<li><a href="#">一级菜单</a></li>
		</ul>
	</body>
</html>

新方法:

children(),获取当前元素的子元素,参数是要填入的元素类型 

this,指当前选取的元素

例子:

$(".turnUp").mouseover(function(){
					$(this).children("ul").show();
				})

这一部分的this就是指代.turnUp这个元素

 

jQuery尺寸:


获取 或 改变 元素的尺寸

元素[ 内容 ]的宽高获取:
width()
height()

内边距(padding)的宽高获取:
innerWidth()
innerHeight()

边框的宽高获取:
outWidth()
outHeight()

外边距(margin)的宽高获取:
outerWidth(true)
outerHeight(true)

注意:当未被设置内/外边距时,上面的方法们会输出元素的宽高

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>获取宽高,width()和height()</title>
		<script src="jquery-1.8.3.min.js"></script>
		<script>
			$(document).ready(function(){
				$("#btn").click(function(){
					var txt = ""
					txt += "内容的宽" + $("#div1").width() + "<br/>";
					txt += "内容的高" + $("#div1").height() + "<br/>";
					txt += "内容的宽 + 内边距(padding)的宽" + $("#div1").innerWidth() + "<br/>";
					txt += "内容的高 + 内边距(padding)的高" + $("#div1").innerHeight() + "<br/>";
					txt += "内容的宽 + 内边距(padding)的宽 + 边框(border)的宽" + $("#div1").outerWidth() + "<br/>";
					txt += "内容的高 + 内边距(padding)的高 + 边框(border)的高" + $("#div1").outerHeight() + "<br/>";
					txt += "内容的宽 + 内边距(padding)的宽 + 边框(border)的宽 + 外边框(margin)的宽" + $("#div1").outerWidth(true) + "<br/>";
					txt += "内容的高 + 内边距(padding)的高 + 边框(border)的高 + 外边框(margin)的高" + $("#div1").outerHeight(true) + "<br/>";
					$("#div1").html(txt);
				})
			})
		</script>
	</head>
	<body>
		<div id="div1" style="width: 500px;height: 500px;border: 1px solid black;padding: 10px;margin: 10px;">
			
		</div>
		<input type="button" name="action" id="btn" value="获取宽高" />
	</body>
</html>

效果图: 

web实训知识点_0416_jQuery尺寸控制,以及slide(滑动复习)

末尾的复习作业:jQuery实现div框的显示与隐藏,以及切换显示/隐藏状态

实现方法:实际上为了实现划入的效果,这里没有直接使用show与hide,而是在执行方法前先使用sildeUp将元素移动到上方。显示就是移动下来(slideDown),隐藏就是移动上去(slideUp)。切换就是slideToggle

 

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="width=device-width, initial-scale=1">
		<title>作业</title>
		<style>
			div{
				width: 100%;
				height: 100px;
				border: 1px solid black;
				background-color: antiquewhite;
				text-align: center;
				line-height: 100px;
				font-size: 50px;
			}
			#div{
				height: 200px;
			}
		</style>
		<script src="jquery-1.8.3.min.js"></script>
		<script>
			$(document).ready(function(){
				$("#div").slideUp();
				$("#show").click(function(){
					$("#div").slideDown("slow");
				})
				$("#hide").click(function(){
					$("#div").slideUp("slow");
				})
				$("#toggle").click(function(){
					$("#div").slideToggle("slow");
				})
			})
		</script>
	</head>
	<body>
		<div id="show">
			出现
		</div>
		<div id="hide">
			隐藏
		</div>
		<div id="toggle">
			toggle
		</div>
		<div id="div">
			hello world!
		</div>
	</body>
</html>

效果图: web实训知识点_0416_jQuery尺寸控制,以及slide(滑动复习)