jQuery淡入淡出動畫函數

淡出淡出函數只提供透明度漸變的效果.

#淡入淡出函數 Fading

#名稱說明#範例
fadeIn( speed, [callback] )

#透過不透明度的變化來實現所有匹配元素的淡入效果,並在動畫完成後可選地觸發一個回調函數。

這個動畫只調整元素的不透明度,也就是說所有符合的元素的高度和寬度不會改變。

用600毫秒緩慢的將段落淡入:
$("p").fadeIn("slow");
#fadeOut( speed, [callback] )透過不透明度的變化來實現所有匹配元素的淡出效果,並在動畫完成後可選地觸發一個回調函數。 用600毫秒緩慢的將段落淡出:
$("p").fadeOut("slow");
#fadeTo(speed, opacity, [callback] )把所有符合元素的不透明度以漸進方式調整到指定的不透明度,並在動畫完成後可選地觸發一個回呼函數。 用600毫秒緩慢的將段落的透明度調整到0.66,大約2/3的可見度:
$("p").fadeTo("slow", 0.66);$("p").fadeTo("slow", 0.66);
#

講解

fadeIn和fadeOut兩個函數對應show和hide, 用於將物件以透明度漸變的效果顯示和隱藏:

$("#divPop").fadeIn(200);
$("#divPop").fadeOut("fast");

一、淡入淡出

1、jQuery fadeIn() 方法

  jQuery fadeIn() 用於淡入隱藏的元素。

 语法:$(selector).fadeIn(speed,callback);

  可選的 speed 參數規定效果的長度。它可以取以下值:"slow"、"fast" 或毫秒。可選的 callback 參數是 fading 完成後所執行的函式名稱。

下面的範例示範了具有不同參數的fadeIn() 方法:

<!DOCTYPE html>  
<html>  
<head>  
<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>  
$(document).ready(function(){  
  $("button").click(function(){  
    $("#div1").fadeIn();  
    $("#div2").fadeIn("slow");  
    $("#div3").fadeIn(3000);  
  });  
});  
</script>  
</head>  
<body>  
<p>演示带有不同参数的 fadeIn() 方法。</p>  
<button>点击这里,使三个矩形淡入</button>  
<br><br>  
<div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div>  
<br>  
<div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div>  
<br>  
<div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div>  
</body>  
</html>

QQ截图20161026101329.png


##2、jQuery fadeOut() 方法

  jQuery fadeOut() 方法用於淡出可見元素。

语法:$(selector).fadeOut(speed,callback);

  可選的 speed 參數規定效果的長度。它可以取以下值:"slow"、"fast" 或毫秒。可選的 callback 參數是 fading 完成後所執行的函式名稱。

下面的範例示範了具有不同參數的fadeOut() 方法:

<!DOCTYPE html>  
<html>  
<head>  
<script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script type="text/javascript">  
$(document).ready(function(){  
  $("button").click(function(){  
    $("#div1").fadeOut();  
    $("#div2").fadeOut("slow");  
    $("#div3").fadeOut(3000);  
  });  
});  
</script>  
</head>  
<body>  
<p>演示带有不同参数的 fadeOut() 方法。</p>  
<button>点击这里,使三个矩形淡出</button>  
<br><br>  
<div id="div1" style="width:80px;height:80px;background-color:red;"></div>  
<br>  
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>  
<br>  
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>  
</body>  
</html>

QQ截图20161026101513.png

3、jQuery fadeToggle() 方法

  jQuery fadeToggle() 方法可以在fadeIn() 與fadeOut() 方法之間切換。如果元素已淡出,則 fadeToggle() 會為元素添加淡入效果。如果元素已淡入,則 fadeToggle() 會為元素添加淡出效果。

         语法:$(selector).fadeToggle(speed,callback);

  可選的 speed 參數規定效果的長度。它可以取以下值:"slow"、"fast" 或毫秒。可選的 callback 參數是 fading 完成後所執行的函式名稱。

下面的範例示範了具有不同參數的fadeToggle() 方法:

<!DOCTYPE html>  
<html>  
<head>  
    <script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>  
$(document).ready(function(){  
  $("button").click(function(){  
    $("#div1").fadeToggle();  
    $("#div2").fadeToggle("slow");  
    $("#div3").fadeToggle(3000);  
  });  
});  
</script>  
</head>  
<body>  
<p>演示带有不同参数的 fadeToggle() 方法。</p>  
<button>点击这里,使三个矩形淡入淡出</button>  
<br><br>  
<div id="div1" style="width:80px;height:80px;background-color:red;"></div>  
<br>  
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>  
<br>  
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>  
</body>  
</body>  
</html>

4、jQuery fadeTo() 方法

  jQuery fadeTo() 方法允許漸變為給定的不透明度(值介於0 與1 之間)。

 语法:$(selector).fadeTo(speed,opacity,callback);

  必需的 speed 參數規定效果的長度。它可以取以下值:"slow"、"fast" 或毫秒。 fadeTo() 方法中必要的 opacity 參數將淡入淡出效果設定為給定的不透明度(值介於 0 與 1 之間)。可選的 callback 參數是函數完成後所執行的函數名稱。

下面的範例示範了帶有不同參數的fadeTo() 方法:

<!DOCTYPE html>  
<html>  
<head>  
    <script src="http://code.jquery.com/jquery-3.1.1.min.js"></script>
<script>  
$(document).ready(function(){  
  $("button").click(function(){  
    $("#div1").fadeTo("slow",0.15);  
    $("#div2").fadeTo("slow",0.4);  
    $("#div3").fadeTo("slow",0.7);  
  });  
});  
</script>  
</head>  
<body>  
<p>演示带有不同参数的 fadeTo() 方法。</p>  
<button>点击这里,使三个矩形淡出</button>  
<br><br>  
<div id="div1" style="width:80px;height:80px;background-color:red;"></div>  
<br>  
<div id="div2" style="width:80px;height:80px;background-color:green;"></div>  
<br>  
<div id="div3" style="width:80px;height:80px;background-color:blue;"></div>  
</body>  
</html>
            //设置弹出层的透明度
               $("#divPop").fadeTo(0, 0.66);                //让弹出层透明显示
               if ($("#divPop").css("display") == "none")
               {
                   $("#divPop").fadeIn(speed);
               }                else
               {
                   $("#divPop").fadeOut(speed);
               }

用fadeTo設定了彈出層透明度後, 在使用fadeIn會讓物件顯示並且漸變到fadeTo設定的透明度.

這裡介紹的僅僅是兩個函數的特性, 實際應用中並不一定要兩者配合使用.


繼續學習
||
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-3.1.1.min.js"></script> <script> $(document).ready(function(){ $("button").click(function(){ $("#div1").fadeIn(); $("#div2").fadeIn("slow"); $("#div3").fadeIn(3000); }); }); </script> </head> <body> <p>演示带有不同参数的 fadeIn() 方法。</p> <button>点击这里,使三个矩形淡入</button> <br><br> <div id="div1" style="width:80px;height:80px;display:none;background-color:red;"></div> <br> <div id="div2" style="width:80px;height:80px;display:none;background-color:green;"></div> <br> <div id="div3" style="width:80px;height:80px;display:none;background-color:blue;"></div> </body> </html>