jQuery淡入淡出動畫函數(shù)
淡出淡出函數(shù)只提供透明度漸變的效果.
淡入淡出函數(shù)?Fading
名稱 | 說明 | 舉例 |
fadeIn( speed, [callback] ) | 通過不透明度的變化來實現(xiàn)所有匹配元素的淡入效果,并在動畫完成后可選地觸發(fā)一個回調(diào)函數(shù)。 這個動畫只調(diào)整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發(fā)生變化。 | 用600毫秒緩慢的將段落淡入:
? ? ? ?$("p").fadeIn("slow"); |
fadeOut( speed, [callback] ) | 通過不透明度的變化來實現(xiàn)所有匹配元素的淡出效果,并在動畫完成后可選地觸發(fā)一個回調(diào)函數(shù)。 | 用600毫秒緩慢的將段落淡出:
? ? ? ?$("p").fadeOut("slow"); |
fadeTo(speed, opacity, [callback]) | 把所有匹配元素的不透明度以漸進(jìn)方式調(diào)整到指定的不透明度,并在動畫完成后可選地觸發(fā)一個回調(diào)函數(shù)。 | 用600毫秒緩慢的將段落的透明度調(diào)整到0.66,大約2/3的可見度:
? ? ? ?$("p").fadeTo("slow", 0.66);$("p").fadeTo("slow", 0.66); |
講解
fadeIn和fadeOut兩個函數(shù)對應(yīng)show和hide, 用于將對象以透明度漸變的效果顯示和隱藏:
$("#divPop").fadeIn(200); $("#divPop").fadeOut("fast");
一、淡入淡出
1、jQuery fadeIn() 方法
? jQuery fadeIn() 用于淡入已隱藏的元素。
語法:$(selector).fadeIn(speed,callback);
? 可選的 speed 參數(shù)規(guī)定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。可選的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱。
下面的例子演示了帶有不同參數(shù)的 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>演示帶有不同參數(shù)的 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 參數(shù)規(guī)定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒??蛇x的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱。
下面的例子演示了帶有不同參數(shù)的 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>演示帶有不同參數(shù)的 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() 方法之間進(jìn)行切換。如果元素已淡出,則 fadeToggle() 會向元素添加淡入效果。如果元素已淡入,則 fadeToggle() 會向元素添加淡出效果。
語法:$(selector).fadeToggle(speed,callback);
? 可選的 speed 參數(shù)規(guī)定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒??蛇x的 callback 參數(shù)是 fading 完成后所執(zhí)行的函數(shù)名稱。
下面的例子演示了帶有不同參數(shù)的 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>演示帶有不同參數(shù)的 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() 方法允許漸變?yōu)榻o定的不透明度(值介于 0 與 1 之間)。
語法:$(selector).fadeTo(speed,opacity,callback);
? 必需的 speed 參數(shù)規(guī)定效果的時長。它可以取以下值:"slow"、"fast" 或毫秒。fadeTo() 方法中必需的 opacity 參數(shù)將淡入淡出效果設(shè)置為給定的不透明度(值介于 0 與 1 之間)??蛇x的 callback 參數(shù)是該函數(shù)完成后所執(zhí)行的函數(shù)名稱。
下面的例子演示了帶有不同參數(shù)的 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>演示帶有不同參數(shù)的 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>
//設(shè)置彈出層的透明度 $("#divPop").fadeTo(0, 0.66); //讓彈出層透明顯示 if ($("#divPop").css("display") == "none") { $("#divPop").fadeIn(speed); } else { $("#divPop").fadeOut(speed); }
用fadeTo設(shè)置了彈出層透明度后, 在使用fadeIn會讓對象顯示并且漸變到fadeTo設(shè)置的透明度.
這里介紹的僅僅是兩個函數(shù)的特性, 實際應(yīng)用中并不一定要兩者配合使用.