Web前端 学习知识点总结(十一)jQuery进阶 动画和节点操作

系列文章目录

Web前端 学习知识点总结(一)HTML基本标签.
Web前端 学习知识点总结(二)之Form和Css选择器.
Web前端 学习知识点总结(三)Css字体、文本样式以及盒子模型.
Web前端 学习知识点总结(四)之display 和 float.
Web前端 学习知识点总结(五)qq导航条案例,使用min-width解决留白.
Web前端 学习知识点总结(六)定位position.
Web前端 学习知识点总结(七)Css3动画animation.
Web前端 学习知识点总结(八)JavaScript的常用基础.
Web前端 学习知识点总结(九)JavaScript的BOM和DOM基础.
Web前端 学习知识点总结(十)jQuery基础 获取文本和选择器.
Web前端 学习知识点总结(十一)jQuery进阶 动画和节点操作.
Web前端 学习知识点总结(十二)jQuery进阶 表单验证和简单正则表达式.
Web前端 学习知识点总结(十三)学生管理系统案例.



前言

有了jQuery的基础可以进一步对节点的操作和动画进行学习。类比JavaScript,进行jQuery的学习。


一、jQuery节点的操作

1.1 节点的操作

所用的html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<div id="div">
			<p id="p1">111</p>
			<span class="cc">22222</span>
		</div>
	</body>
</html>

1.创建节点
jQuery的操作都在script中进行,且要引入jQuery库

  1. $(html)创建节点
  2. colon()
<script type="text/javascript">

//js的方法
	var h2 = document.createElement("h2")
	h2.innerHTML=
//jquery的方法
	var $h = $("<h2 class='h'>创建节点</h2>")
//克隆一个$(".cc")
	$(".cc").clone()
</script>

2.添加节点

  • append()
  • prepend()
    可以用于论坛的发帖,一般放在前面
  • appendTo()
  • prependTo()
//父子之间

//用父加子
//	添加到后面(给id为div后加$h)
	$("#div").append($h)
//	添加到前面(给id为div前加$h) 
	$("#div").prepend($h)


//用子加父
//	添加到后面(把$h添加到id为div后面)
	$h.appendTo("#div")
//	添加到前面(把$h添加到id为div前面)
 	$h.prependTo("#div")


//兄弟之间
//添加到前面(给id为p1的前面添加$h)
	$("#p1").before($h)
//添加到后面(给id为p1的后面添加$h)
 	$("#p1").after($h)
//把$h插入到p1后面
	$h.insertAfter("#p1")
//把$h插入到p1前面
	$h.insertBefore("#p1")

3.删除节点

//连自己和子元素全部移除掉
	 $("#p1").remove()
//重置 移除子元素,不移除自身元素
	 $("#div").empty()

1.1 节点的案例

要求:
当选择其中一张图片,添加到下面的选择区域中。
在这里插入图片描述

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			img{
				width: 100px;
			}
		</style>
	</head>
	<body>
		<div>
			<!--<img src="img/f01.jpg"  οnclick="doclick(this)"/>-->
			<img src="img/f01.jpg"  />
			<img src="img/f02.jpg"  />
			<img src="img/f03.jpg" />
			<img src="img/f04.jpg" />
		</div>
		您选择的图片有:
		<div id="choiced"></div>
	</body>
</html>
<script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">
//	方法一
//	function doclick(obj){
//		$(obj).appendTo($("#choiced"))
//	}

//方法二
$("img").click(function(){
//	不加colon会整体过去
	$(this).clone().appendTo($("#choiced"))
})
</script>

案例结果,当选择第一个图片的时候会进行添加。
在这里插入图片描述

1.2 事件绑定

  1. 一次绑定一个单一事件
    " mouseover "内的函数可以进行替换 内容为基本鼠标事件不加on

    $(“html”).bind(“mouseover”,function(){
    函数内容
    })

  2. 一次绑定多个事件

    $(html).bind({
    “mouseover”:function(){
    函数内容
    }, “mouseout”:function(){
    函数内容
    }
    })

  3. 不用bind可以用以下方法

    $(html).mouseover(function(){
    函数内容
    }).mouseout(function(){
    函数内容
    })

代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<p id="pp">悬浮为红,离开为蓝</p>
		
	</body>
</html>
<script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>

<script type="text/javascript">
//	方法一
//	$("#pp").bind("mouseover",function(){
//		$("#pp").css("color","red")
//		
//	})
//	$("#pp").bind("mouseout",function(){
//		$("#pp").css("color","blue")
//		
//	})
//	方法二
//on off bind unbind
	$("#pp").bind({
		"mouseover":function(){
		$("#pp").css("color","red")
		
	},	"mouseout":function(){
		$("#pp").css("color","blue")
		}
	})
//	取消事件 可以取消其中的事件
//	function cancel(){
//		$("#pp").unbind()
//	}
</script>

1.3 hover事件

hover是比较特殊的事件,有进入和离开两种方式,是enter 和 leave 两个叠加的符合函数。
$(this).find(“a”) 用来寻找在this下面的子标签a
代码如下(示例):

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			a{
				display: none;
			}
		</style>
	</head>
	<body>
		<p>
			111
			<a>111</a>
		</p>
		<p>
			112
		<a>111</a>
		</p>
		<p>113</p>
	</body>
</html>
<script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>
	
<script type="text/javascript">
//	$("p a").css("color","red")
//	enter 和 leave 两个叠加的符合函数

//hover 往往表示两个事件 前面为进入时的事件,类似于enter 后面为离开的事件,类似于leave
	$("p").hover(function(){
			var obj = this;
//			用this.find()找到下级的选择器
//			$(obj).find("a").css("color","red");
//			$(obj).children("a").css("color","red");
//			$(this).css("color","red");
		
		
			$(this).find("a").css("display","block")
	},
	function(){
	//写当离开时候的事件
	})
</script>

二、 动画

2.1 显示和隐藏

  1. 默认

show(speed,easing,fn)

  • speed速度(slow,normal,fast或者毫秒值)
  • easing指定切换效果(swing(默认)linear(匀速))
  • fn动画完成后执行函数

用在显示的时候

  • show()
  • slideDown()
  • fadeIn()

用在隐藏的时候

  • slideUp()
  • hide()
  • fadeOut()

显示或隐藏
相当于show()和hide()的结合,当为show()的时候进行hide()操作,当为hide()的时候进行show()的操作。

  • toggle()

2.2 动画案例

点击显示进行显示,点击隐藏进行隐藏,点击显示或隐藏进行显示或隐藏。
在这里插入图片描述


<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
		<style type="text/css">
			img{
				width: 150px;
				
			}
		</style>
	</head>
	<body>
		<img src="img/f01.jpg"/>
		<input type="button"  value="显示" onclick="showImg()"/>
		<input type="button"  value="隐藏" onclick="hideImg()"/>
		<input type="button"  value="显示或隐藏" onclick="toggleImg()"/>
	</body>
</html>
<script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>
<script type="text/javascript">
	function showImg(){
//		show(speed速度(slow,normal,fast或者毫秒值),easing指定切换效果(swing(默认),linear(匀速),fn动画完成后执行函数)
//		$("img").show(1000)
//slideDown从上往下 用在show
//		$("img").slideDown("slow")
// .fadeIn()用在show
$("img").fadeIn("slow")
	}
	function hideImg(){
//		从下往上 用在hide
//		$("img").slideUp("slow") 
//		$("img").hide("slow")
//		 .fadeOut()用在show
$("img").fadeOut("slow")
	}
	function toggleImg(){
		$("img").toggle("slow")
	}
</script>

三、补充

3.1 节点的遍历

一共有三种方法:

  • 方法一:for循环
    for(var i = 0;i<input.length;i++){
		console.log(input[i].value)
	}
  • 方法二:$(“”).each(fn)

fn(i,element)可以同时获取下标和索引

  • 方法三:$.each(对象, fn)
<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
		<input type="text" value="1" />
		<input type="text" value="2" />
		<input type="text" value="3" />
		<input type="text" value="4" />
		<input type="text" value="5" />
		<input type="button" value="获取" onclick="doclick()" />
	</body>
</html>
<script src="js/jquery-1.12.4.js" type="text/javascript" charset="utf-8"></script>
	
<script type="text/javascript">
	function doclick(){
//		$("input[type=text]").css("background-color","gray")
//		只能获取一个
//		console.log($("input[type=text]").val())
		
//		遍历
var input = $("input[type=text]")
//方式一
//for(var i = 0;i<input.length;i++){
//	console.log(input[i].value)
//}

//方式二 $("").each(fn) 不支持break 和continue return flase(等于break) return ture(等于continue)
//$("input[type=text]").each(function (i,element){
//	function 中有i可以获取索引值
//	if(i==3){
//		return false;
//	}
//	console.log(i+" "+element.value+" "+this.value+" "+$(this).val())
//})
//方式三
var inputs = document.getElementsByTagName("input")
//	$.each(inputs, function() {
//		console.log(this.value)
//	});
	for(var it in inputs){
		console.log(inputs[it].value);
	}

}
</script>

3.2 节点的关系

类似于js的方法去寻找

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<title></title>
	</head>
	<body>
	</body>
</html>

<script type="text/javascript">
//	用类似于js的方法 
//也可以用css的方法去找节点
//	找孩子
	console.log($("").children().length)
	console.log($("").children("").length)
//	找父亲
	$("").parent().css()
//	下一个兄弟
	$("").next().css()
//	前一个兄弟
	$("").prev().css()
//	除了自己
	$("").siblings().css()
</script>


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Le`soleil

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值