本节我们来学习如何使用 jQuery 中的方法来实现元素的显示与隐藏效。

hide()方法

hide() 方法用于隐藏指定的元素,与 CSS 中的 display:none 效果类似。

语法如下所示:

$(selector).hide(speed,easing,callback)
  • speed:可选,规定隐藏效果的速度。可选值为 slowfast、毫秒。
  • easing:可选,规定在动画的不同点上元素的速度,可选值为 swinglinear
  • 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:可选,规定元素从可见到隐藏的速度,可选值又slownormalfast、毫秒。
  • callback:可选,toggle 函数执行完之后,要执行的函数。
  • switch:可选,规定 toggle 是否隐藏或显示所有被选元素。True 表示显示所有元素,False 表示隐藏所有元素。如果设置此参数,则无法使用 speedcallback 参数。
示例:

例如实现上述示例效果,我们只需要像下面这样写即可,主要是修改 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() 方法是很方便的。

链接:https://www.9xkd.com/


知否
221 声望177 粉丝

Skrike while the iron is hot.


引用和评论

0 条评论