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>
##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>
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設定的透明度.這裡介紹的僅僅是兩個函數的特性, 實際應用中並不一定要兩者配合使用.