1-4 jQuery中显示与隐藏切换toggle方法
本节编程练习不计算学习进度,请电脑登录imooc.com操作

jQuery中显示与隐藏切换toggle方法

show与hide是一对互斥的方法。需要对元素进行显示隐藏的互斥切换,通常情况是需要先判断元素的display状态,然后调用其对应的处理方法。比如显示的元素,那么就要调用hide,反之亦然。 对于这样的操作行为,jQuery提供了一个便捷方法toggle用于切换显示或隐藏匹配元素

基本的操作:toggle();

这是最基本的操作,处理元素显示或者隐藏,因为不带参数,所以没有动画。通过改变CSS的display属性,匹配的元素将被立即显示或隐藏,没有动画。

display属性将被储存并且需要的时候可以恢复。如果一个元素的display值为inline,然后是隐藏和显示,这个元素将再次显示inline

提供参数:.toggle( [duration ] [, complete ] )

同样的提供了时间、还有动画结束的回调。在参数对应的时间内,元素会发生显示/隐藏的改变,在改变的过程中会把元素的高、宽、不透明度进行一系列动画效果。这个元素其实就是show与hide的方法

直接定位:.toggle(display)

直接提供一个参数,指定要改变的元素的最终效果

其实就是确定是使用show还是hide方法

if ( display === true ) {
  $( "elem" ).show();
} else if ( display === false ) {
  $( "elem" ).hide();
}


toggle方法就是show与hide的相互切换的一个快捷方法,具体使用可以参考右边的案例:

任务

  1. <!DOCTYPE html>
  2. <html>
  3.  
  4. <head>
  5. <meta http-equiv="Content-type" content="text/html; charset=utf-8" />
  6. <title></title>
  7. <style>
  8. div {
  9. width: 500px;
  10. height: 50px;
  11. padding: 5px;
  12. margin: 5px;
  13. float: left;
  14. border: 1px solid #ccc;
  15. }
  16.  
  17. .left {
  18. background: #bbffaa;
  19. }
  20.  
  21. .right {
  22. background: yellow;
  23. display: none;
  24. }
  25. </style>
  26. <script src="http://libs.baidu.com/jquery/1.9.1/jquery.js"></script>
  27. </head>
  28.  
  29. <body>
  30. <h2>通过toggle切换显示与隐藏</h2>
  31. <div class="left">显示到隐藏</div>
  32. <div class="right">隐藏到显示</div>
  33. <button>直接show-hide动画</button>
  34. <button>直接hide-show动画</button>
  35. <script type="text/javascript">
  36. $("button:first").click(function() {
  37. $(".left").toggle(3000)
  38. });
  39. </script>
  40.  
  41. <script type="text/javascript">
  42. $("button:last").click(function() {
  43. $(".right").toggle(3000)
  44. });
  45. </script>
  46.  
  47. </body>
  48.  
  49. </html>
  50.  
下一节