返回值:jQueryfadeOut([duration], [callback])

通过渐变形式让匹配的元素变成透明。

.fadeOut() 方法对匹配元素的透明度生成动画效果。当透明度变成 0 之后,再把 display 样式属性设置成 none 以确保这个元素不再对页面布局产生影响。

duration 参数可以提供一个毫秒数,代表动画运行的时间,时间越长动画越慢。还可以提供字符串 'fast''slow' ,分别对应了 200600 毫秒。如果没有设置 duration 参数,或者设置成其他无法识别的字符串,就会使用默认值 400 毫秒。

从 jQuery 1.4.3 起,增加了一个可选的参数,用于确定使用的缓冲函数。缓冲函数确定了动画在不同的位置的速度。jQuery默认只提供两个缓冲效果:swinglinear。更多特效需要使用插件。可以访问 jQuery UI 网站 来获得更多信息。

如果提供了回调函数,那么当动画结束时,会调用这个函数。通常用来几个不同的动画依次完成。这个函数不接受任何参数,但是 this 会设成将要执行动画的那个元素。如果对多个元素设置动画,那么要非常注意,回调函数会在每一个动画完成的元素上都执行一次,而不是对这组动画整体才执行一次。

比如下面这个页面:

<div id="clickme">
  Click here
</div>
<img id="book" src="book.png" alt="" width="100" height="123" />

如果元素一开始是显现的,我们可以这样将其缓慢的隐藏:

$('#clickme').click(function() {
  $('#book').fadeOut('slow', function() {
    // 动画完成
  });
});

示例:

让所有段落渐渐消失,用时 600 毫秒。

<!DOCTYPE html>
<html>
<head>
<style>
  p { font-size:150%; cursor:pointer; }
  </style>
<script src="jquery.min.js"></script>
</head>
<body>

<p>
  If you click on this paragraph
  you'll see it just fade away.
  </p>

<script>


  $("p").click(function () {
  $("p").fadeOut("slow");
  });
  

</script>
</body>
</html>
演示:

示例:

渐隐你点击的 span 。

<!DOCTYPE html>
<html>
<head>
<style>
  span { cursor:pointer; }
  span.hilite { background:yellow; }
  div { display:inline; color:red; }
  </style>
<script src="jquery.min.js"></script>
</head>
<body>

<h3>Find the modifiers - <div></div></h3>
  <p>
  If you <span>really</span> want to go outside
  <span>in the cold</span> then make sure to wear
  your <span>warm</span> jacket given to you by
  your <span>favorite</span> teacher.
  </p>

<script>



  $("span").click(function () {
  $(this).fadeOut(1000, function () {
  $("div").text("'" + $(this).text() + "' has faded!");
  $(this).remove();
  });
  });
  $("span").hover(function () {
  $(this).addClass("hilite");
  }, function () {
  $(this).removeClass("hilite");
  });

  

</script>
</body>
</html>
演示:

示例:

渐隐两个 div ,一个使用 "linear" 缓冲效果,另一个使用默认的 "swing," 缓冲效果。

<!DOCTYPE html>
<html>
<head>
<style>
.box,
button { float:left; margin:5px 10px 5px 0; }
.box { height:80px; width:80px; background:#090; }
#log { clear:left; }

</style>
<script src="jquery.min.js"></script>
</head>
<body>


<button id="btn1">fade out</button>
<button id="btn2">show</button>

<div id="log"></div>

<div id="box1" class="box">linear</div>
<div id="box2" class="box">swing</div>


<script>


$("#btn1").click(function() {
  function complete() {
    $("<div/>").text(this.id).appendTo("#log");
  }
  
  $("#box1").fadeOut(1600, "linear", complete);
  $("#box2").fadeOut(1600, complete);
});

$("#btn2").click(function() {
  $("div").show();
  $("#log").empty();
});



</script>
</body>
</html>
演示: