本节我们来学习如何使用 jQuery
中的方法来实现元素的显示与隐藏效。
hide()方法
hide()
方法用于隐藏指定的元素,与 CSS 中的 display:none
效果类似。
语法如下所示:
$(selector).hide(speed,easing,callback)
-
speed
:可选,规定隐藏效果的速度。可选值为slow
、fast
、毫秒。 -
easing
:可选,规定在动画的不同点上元素的速度,可选值为swing
、linear
。 -
callback
:可选,hide()
方法执行完之后,要执行的函数。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_侠课岛(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$("button").click(function(){
$(".fruit").hide('slow','linear');
});
});
</script>
</head>
<body>
<div>
<button>隐藏下面内容</button>
<div class="fruit">
<p>我喜欢的水果:</p>
<ul>
<li>西瓜</li>
<li>苹果</li>
<li>香蕉</li>
<li>桃子</li>
<li>哈密瓜</li>
</ul>
</div>
</div>
</body>
</html>
在浏览器中的演示效果:
show()方法
show()
方法用于显示隐藏的指定元素。与 CSS 中 display:none
的效果类似。
语法如下所示:
$(selector).show(speed,easing,callback)
show()
方法中的参数和 hide()
方法中参数类似。
示例:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_侠课岛(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$(".hide").click(function(){
$(".fruit").hide('slow','linear');
});
$(".show").click(function(){
$(".fruit").show('slow','linear');
});
});
</script>
</head>
<body>
<div>
<button class="hide">隐藏下面内容</button>
<button class="show">显示下面内容</button>
<div class="fruit">
<p>我喜欢的水果:</p>
<ul>
<li>西瓜</li>
<li>苹果</li>
<li>香蕉</li>
<li>桃子</li>
<li>哈密瓜</li>
</ul>
</div>
</div>
</body>
</html>
在浏览器中的演示效果:
toggle()方法
上面示例中我们在实现显示和隐藏效果时,需要使用两个按钮分别控制。那么有没有办法只通过一个按钮就可以实现显示和隐藏效果呢。这就需要用到 toggle()
方法了,toggle()
方法可以用于切换 hide()
和 show()
方法。
语法如下所示:
$(selector).toggle(speed,callback,switch)
-
speed
:可选,规定元素从可见到隐藏的速度,可选值又slow
、normal
、fast
、毫秒。 -
callback
:可选,toggle
函数执行完之后,要执行的函数。 -
switch
:可选,规定toggle
是否隐藏或显示所有被选元素。True
表示显示所有元素,False
表示隐藏所有元素。如果设置此参数,则无法使用speed
和callback
参数。
示例:
例如实现上述示例效果,我们只需要像下面这样写即可,主要是修改 jQuery
代码部分:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>jQuery_侠课岛(9xkd.com)</title>
<script src="jquery-3.5.1.min.js"></script>
<script>
$(function(){
$(".toggle").click(function(){
$(".fruit").toggle(1000);
});
});
</script>
</head>
<body>
<div>
<button class="toggle">切换显示与隐藏</button>
<div class="fruit">
<p>我喜欢的水果:</p>
<ul>
<li>西瓜</li>
<li>苹果</li>
<li>香蕉</li>
<li>桃子</li>
<li>哈密瓜</li>
</ul>
</div>
</div>
</body>
</html>
在浏览器中的演示效果:
我们来看一下区别,使用 show()
和 hide()
方法需要的代码:
$(function(){
$(".hide").click(function(){
$(".fruit").hide('slow','linear');
});
$(".show").click(function(){
$(".fruit").show('slow','linear');
});
});
使用 toggle()
方法需要的代码:
$(function(){
$(".toggle").click(function(){
$(".fruit").toggle(1000);
});
});
所以很明显,在需要实现隐藏和显示两种效果相互切换时,使用 toggle()
方法是很方便的。