jQuery学习教程,写更少的代码,做更多的事情完

Posted IT_Holmes

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jQuery学习教程,写更少的代码,做更多的事情完相关的知识,希望对你有一定的参考价值。

1.jQuery遍历 树遍历

在这里插入图片描述
注意:

1.这里会发现一些方法和过滤的方法一样,因为有些方法既可以过滤也可以遍历。
2.一定要注意参数问题,有些方法是不接受任何参数的,而且有参数和无参数功能效果完全不一样,参数一般都是选择器,例如:id选择器,类选择器等等。

容易忘记的方法:

nextAll()方法:注意有参数和无参数的情况!
nextUntil()方法:既不包含首,也包不含尾。参数可以有一个也可以有两个,第一个参数是查询到哪里,第二个是在查询里面筛选出符号第二参数的元素。
parent()方法和parents()方法:是有区别的,parent()只能返回一级父元素,而parents()可以返回所有的祖先元素。
offsetParent()方法:不接受任何参数,这里定位信息,是css里面的position属性 !!

上面这些方法,按照名字也能想出功能来,这里就不举例例子了。
在这里插入图片描述
容易忘记的方法:

parentsUntil()方法和nextUntil()方法相似。
这里的prevAll()和prevUntil(),与之前的next一样,参数格式也是一样的,就是功能不一样。

例1:
使用prev()方法,来实现一个按钮后退的效果。

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			margin:5px;
			width: 50px;
			height: 50px;
			float: left;
			background-color: green;
		}
	</style>
</head>
<body>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div></div>
	<div id="start"></div>
	<div></div>
	<button>back up</button>
	<script type="text/javascript">
		$(function(){
			var s = $("#start");
			s.css("background-color","yellow");
			$("button").click(function(){
				s = s.prev();
				$("div").css("background-color","");
				s.css("background-color","yellow")
			});
		})

	</script>
</body>
</html>

例2:
siblings()方法,有参数和无参数时的情况,注意不包括本身!

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			margin:5px;
			width: 50px;
			height: 50px;
			float: left;
			background-color: green;
		}
	</style>
</head>
<body>
	<div>d1 </div>
	<br>
	<p class="selected">p</p>
	<br>
	<span class="selected">span</span>
	<br>
	<a href="#">没用</a>
	<ul>
		<li> li 1 </li>
		<li> li 2 </li>
		<li> li 3 </li>
		<li> li 4 </li>
		<li> li 5 </li>
	</ul>
	<p>你好啊。</p>
	<p>你好啊。</p>
	<p>你好啊。</p>
	<p>你好啊。</p>
	<script type="text/javascript">
		$(function(){
			//siblings()方法有参数
			$("div").siblings(".selected").css("color","red");
			//siblings()方法无参数
			$("a").siblings().css("color","green");
		})

	</script>
</body>
</html>

2.jQuery 特效 隐藏与显示

1.使用hide()、show()和toggle()方法来隐藏显示

这里做一个隐藏按钮,一个显示按钮,一个隐藏/显示按钮
例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		
	</style>
</head>
<body>
	<p>您好呀!</p>
	<button id="btn">隐藏</button>
	<button id="show">显示</button>
	<button id="toggle">隐藏/显示</button>
	<script type="text/javascript">
		$(function(){
			$("#btn").click(function(){
				//hide()方法的参数是设置毫秒数,来确定隐藏的时间。
				$("p").hide(1000);
			})
			$("#show").click(function(){
				//show()方法参数和hide一样
				$("p").show(1000);
			})
			$("#toggle").click(function(){
				//toggle方法包含上面方法的两个功能。
				$("p").toggle(1000);
			})
		})

	</script>
</body>
</html>

2. 使用fadeIn()、fadeOut()、fadeToggle()和fadeTo()方法来实现淡入淡出

过程呢,和上面例子差不多,这里就不举例子了。
这里说一下fadeTo()方法使用,他是有参数的。

fadeTo(1000,0);
第一个参数代表毫秒,执行时间。
第二个设定到0~1之间,0代表完全透明,1代表不透明。

3.jQuery 特效 回调和滑动

1.滑动,显示和隐藏

slideDown()方法,下滑显示。
slideUp()方法,上滑隐藏。
slideTopple()方法,可以实现上面的两个功能
例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		#content{
			padding:50px;
			display: none;
		}
		#content,#flipshow,#fliphide,#toggle{
			padding:5px;
			text-align: center;
			background-color: aquamarine;
			border: 1px solid green;
		}
	</style>
</head>
<body>
	<div id="flipshow">显示</div>
	<div id="fliphide">隐藏</div>
	<div id="toggle">显示和隐藏</div>
	<div id="content">我出来了。</div>

	<script type="text/javascript">
		$(function(){
			$("#flipshow").click(function(){
				//slideDown()方法,来显示,参数也是毫秒。
				$("#content").slideDown(1000);
			})

			$("#fliphide").click(function(){
				//slideUp()方法,来隐藏,参数也是毫秒。
				$("#content").slideUp(1000);
			})

			$("#toggle").click(function(){
				//使用slideTopple方法完成上面的两个方法的功能。
				$("#content").slideTopple(1000);
			})
		})

	</script>
</body>
</html>

2.回调

回调函数,不是什么特别的函数,就是函数执行完后,有一个回调的意味。

这里可以连续使用slideDown()和slideUp()方法,来达到一个浮现浮出的效果。
例如:

<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<title></title>
	<script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		
	</style>
</head>
<body>
	<p>您好呀</p>
	<button>隐藏</button>
	<br>
	<h1>我出场特别帅气。</h1>
	<script type="text/javascript">
		$(function(){
			$("button").click(function(){
				$("p").hide(1000,function(){
					//这里的函数为回调函数
					alert("已经隐藏,这个弹出窗口所在的函数就是回调函数。");
				})
			})
			//这里可以连续使用slideDown()和slideUp()方法,来达到一个浮现浮出的效果。
			$("h1").css("background-color","green").slideDown(1500).slideUp(1500);
		})

	</script>
</body>
</html>

4.jQuery 自定义动画

1.animate()方法

animate()方法,总共有四个参数,对应不同的属性。
例如:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			width: 200px;
			height: 200px;
			background-color: aquamarine;
			position: absolute;
		}
	</style>
</head>
<body>
	<div></div>
	<script type="text/javascript">
		$(function(){
			$("div").click(function(){
				$(this).animate(
				//第一个参数:指定属性,设定样式。
				{
					//opacity,意思是透明。
					opacity:0.2,
					//在属性中也可以写成数组的形式。
					width:[400,"swing"]
					left:100
				}),
				//第二个参数,执行时间的单位毫秒。
				"2000",
				//第三个参数,动画执行的过渡类型,linear(线性的),swing(曲线性)
				"linear",
				//第四个参数,回调函数。
				function(){
					alert("动画执行完毕");
				}
			})
		})	
	</script>
</body>
</html>

如果存在多个animate()自定义动画,则会按照顺序依次执行。
例如:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			width: 200px;
			height: 200px;
			background-color: aquamarine;
			position: absolute;
		}
	</style>
</head>
<body>
	<div></div>
	<script type="text/javascript">
		$(function(){
			$("div").click(function(){

				//这是第一个动画。
				$(this).animate(
				//第一个参数:指定属性,设定样式。
				{
					opacity:0.2,
					//在属性中也可以写成数组的形式。
					width:400,
					left:100
				}),
				//第二个参数,执行时间的单位毫秒。
				"2000",
				//第三个参数,动画执行的过渡类型,linear(线性的),swing(曲线性)
				"swing",
				//第四个参数,回调函数。
				function(){
					alert("动画执行完毕");
				}

				//这是第二个动画。
				$(this).animate({
					opacity:1,
					width:200,
					left:10
				},
				"2000",
				"linear",
				function(){
					alert("动画执行完毕。")
				})
			})	

		})	
	</script>
</body>
</html>

2.clearQueue()方法

从列队中一处所有未执行的项。这里的项,就是animate()方法。
例如:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			width: 200px;
			height: 200px;
			background-color: aquamarine;
			position: absolute;
			z-index: 1;
		}
		button{
			position: absolute;
			z-index: 99;
		}
	</style>
</head>
<body>
	<div></div>
	<button>停止动画</button>
	<script type="text/javascript">
		$(function(){
			//设定两个自定义动画
			$("div").click(function(){
				$(this).animate({
					width:500,
					opacity:0.2,
					left:200
				},4000,"linear");
				$(this).animate({
					width:200,opacity:1,left:8
				},4000,"swing",function(){
					alert("动画执行完毕");
				})
			})
			//clearQueue()方法,暂停当前动画,这里暂停不会立刻停止,会执行完当前的aniamte()后,停止。
			$("button").click(function(){
				$("div").clearQueue();
			})
		})	
	</script>
</body>
</html>

3.delay()方法

设置一个延时来推迟执行队列中后续的项。这里的项,就是animate()方法。
例如:
注意这里的delay,参数是延迟毫秒。

$("div").click(function(){
		$(this).animate({
			width:500,	
			opacity:0.2,
			left:200
		},4000,"linear").delay(5000); //注意这里的delay,参数是延迟毫秒。
		$(this).animate({
			width:200,opacity:1,left:8
		},4000,"swing",function(){
		alert("动画执行完毕");
	})
})

4.finish()方法

停止当前正在运行的动画,删除所有排队的动画,并完成匹配元素所有的动画。

例如:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			width: 200px;
			height: 200px;
			background-color: aquamarine;
			position: absolute;
			z-index: 1;
		}
		button{
			position: absolute;
			z-index: 99;
		}
	</style>
</head>
<body>
	<div></div>
	<button>停止动画</button>
	<script type="text/javascript">
		$(function(){
			//设定两个自定义动画
			$("div").click(function(){
				$(this).animate({
					width:500,
					opacity:0.2,
					left:200
				},4000,"linear").delay(5000);
				$(this).animate({
					width:200,opacity:1,left:50
				},4000,"swing",function(){
					alert("动画执行完毕");
				})
			})
			
			$("button").click(function(){
				//finish()方法
				$("div").finish();
			})
		})	
	</script>
</body>
</html>

5.stop()方法

停止匹配元素当前正在运行的动画。

例如:

<!DOCTYPE html>
<html>
<head>
	<title></title>
	<meta charset="UTF-8">
	<script type="text/javascript" src="https://lib.baomitu.com/jquery/3.6.0/jquery.js"></script>
	<style type="text/css">
		div{
			width: 200px;
			height: 200px;
			background-color: aquamarine;
			position: absolute;
			z-index: 1;
		}
		button{
			position: absolute;
			z-index: 99;
		}
	</style>
</head>
<body>
	<div></div>
	<button>停止动画</button>
	<script type="text/javascript">
		$(function(){
			//设定两个自定义动画
			$("div").click(function(){
				$(this).animate({
					width:500,
					opacity:0.2,
					left:200
				},4000,"linear").delay(5000);
				$(this).animate({
					width:200,opacity:1,left:50
				},4000,"swing",function(){
					alert("动画执行完毕");
				})
			})
		
			$("button").click(function(){
				//stop()方法
				$("div").stop();
			})
		})	
	</script>
</body>
</html>

以上是关于jQuery学习教程,写更少的代码,做更多的事情完的主要内容,如果未能解决你的问题,请参考以下文章

jQuery学习教程,写更少的代码,做更多的事情

jQuery学习教程,写更少的代码,做更多的事情

jQuery学习教程,写更少的代码,做更多的事情

jQuery学习教程,写更少的代码,做更多的事情

jQuery学习教程,写更少的代码,做更多的事情

jQuery学习教程,写更少的代码,做更多的事情