jQuery 學習十三(效果)

 ●  hide() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 隱藏顯示的元素。 
  3.  * 
  4.  * 這個就是 "hide( speed, [callback] )" 的無動畫版。如果選擇的元素是隱藏的,這個方法將不會改變 
  5.  * 任何東西。 
  6.  *  
  7.  * @return jQuery Object 
  8.  * @owner jQuery Object 
  9.  */  
  10. function hide();  
  11.   
  12. // 例子:隱藏所有段落。  
  13. $("p").hide();  


    ●  hide(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 以優雅的動畫隱藏所有匹配的元素,並在顯示完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 可以根據指定的速度動態地改變每個匹配元素的高度、寬度和不透明度。 
  5.  * 
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數,每個元素執行一次 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function hide(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒的時間將段落緩慢的隱藏。  
  15. $("p").hide("slow");  
  16.   
  17. // 例子二:用 200 毫秒將段落迅速隱藏,之後彈出一個對話框。  
  18. $("p").hide("fast"function() {  
  19.    alert("Animation Done.");  
  20. });  


    ●  show() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 顯示隱藏的匹配元素。 
  3.  * 
  4.  * 這個就是 "show( speed, [callback] )" 無動畫的版本。如果選擇的元素是可見的,這個方法將不會改變任 
  5.  * 何東西。無論這個元素是通過 hide() 方法隱藏的還是在 CSS 裏設置了 display:none; 這個方法都將有效。 
  6.  * 
  7.  * @return jQuery Object 
  8.  * @owner jQuery Object 
  9.  */  
  10. function show();  
  11.   
  12. // 例子:顯示所有段落。  
  13. $("p").show();  


    ●  show(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 顯以優雅的動畫顯示所有匹配的元素,並在顯示完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 可以根據指定的速度動態地改變每個匹配元素的高度、寬度和不透明度。 
  5.  * 
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數,每個元素執行一次 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function show(speed, [callback]);  
  13.   
  14. // 例子一:用緩慢的動畫將隱藏的段落顯示出來,歷時 600 毫秒。  
  15. $("p").show("slow");  
  16.   
  17. // 例子二:用迅速的動畫將隱藏的段落顯示出來,歷時 200 毫秒。並在之後執行反饋。  
  18. $("p").show("fast"function() {  
  19.    $(this).text("Animation Done!");  
  20. });  
  21.   
  22. // 例子三:將隱藏的段落用將近 4 秒的時間顯示出來,並在之後執行一個反饋。  
  23. $("p").show(4000, function() {  
  24.    $(this).text("Animation Done...");  
  25. });  


    ●  toggle() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 切換元素的可見狀態。如果元素是可見的,切換爲隱藏的;如果元素是隱藏的,切換爲可見的。 
  3.  *  
  4.  * @return jQuery Object 
  5.  * @owner jQuery Object 
  6.  */  
  7. function toggle();  
  8.   
  9. // 例子:切換所有段落的可見狀態。  
  10. <p>Hello</p>  
  11. <p style="display: none">Hello Again</p>  
  12.   
  13. $("p").toggle() -> <p tyle="display: none">Hello</p><p style="display: block">Hello Again</p>  


    ●  slideDown(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 通過高度變化(向下增大)來動態地顯示所有匹配的元素,在顯示完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫效果只調整元素的高度,可以使匹配的元素以 "滑動" 的方式顯示出來。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function slideDown(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒緩慢的將段落滑下。  
  15. $("p").slideDown("slow");  
  16.   
  17. // 例子二:用 200 毫秒快速將段落滑下,之後彈出一個對話框。  
  18. $("p").slideDown("fast"function(){  
  19.    alert("Animation Done.");  
  20. });  


    ●  slideToggle(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 通過高度變化來切換所有匹配元素的可見性,並在切換完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫效果只調整元素的高度,可以使匹配的元素以 "滑動" 的方式隱藏或顯示。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function slideToggle(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒緩慢的將段落滑上或滑下。  
  15. $("p").slideToggle("slow");  
  16.   
  17. // 例子二:用 200 毫秒快速將段落滑上或滑下,之後彈出一個對話框。  
  18. $("p").slideToggle("fast"function() {  
  19.    alert("Animation Done.");  
  20. });  


    ●  slideUp(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 通過高度變化(向上減小)來動態地隱藏所有匹配的元素,在隱藏完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫效果只調整元素的高度,可以使匹配的元素以 "滑動" 的方式隱藏起來。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function slideUp(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒緩慢的將段落滑上。  
  15. $("p").slideUp("slow");  
  16.   
  17. // 例子二:用 200 毫秒快速將段落滑上,之後彈出一個對話框。  
  18. $("p").slideUp("fast"function() {  
  19.    alert("Animation Done.");  
  20. });  


    ●  fadeIn(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 通過不透明度的變化來實現所有匹配元素的淡入效果,並在動畫完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function fadeIn(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒緩慢的將段落淡入。  
  15. $("p").fadeIn("slow");  
  16.   
  17. // 例子二:用 200 毫秒快速將段落淡入,之後彈出一個對話框。  
  18. $("p").fadeIn("fast"function() {  
  19.    alert("Animation Done.");  
  20. });  


    ●  fadeOut(speed, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 通過不透明度的變化來實現所有匹配元素的淡出效果,並在動畫完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function fadeOut(speed, [callback]);  
  13.   
  14. // 例子一:用 600 毫秒緩慢的將段落淡出。  
  15. $("p").fadeOut("slow");  
  16.   
  17. // 例子二:用 200 毫秒快速將段落淡出,之後彈出一個對話框。  
  18. $("p").fadeOut("fast"function() {  
  19.    alert("Animation Done.");  
  20. });  


    ●  fadeTo(speed, opacity, [callback]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 把所有匹配元素的不透明度以漸進方式調整到指定的不透明度,並在動畫完成後可選地觸發一個回調函數。 
  3.  * 
  4.  * 這個動畫只調整元素的不透明度,也就是說所有匹配的元素的高度和寬度不會發生變化。 
  5.  *  
  6.  * @speed(String, Number) 三種預定速度之一的字符串("slow", "normal", or "fast") 
  7.  *                        或表示動畫時長的毫秒數值(如:1000) 
  8.  * @opacity(Number) 要調整到的不透明度值(0到1之間的數字) 
  9.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  10.  * @return jQuery Object 
  11.  * @owner jQuery Object 
  12.  */  
  13. function fadeTo(speed, opacity, [callback]);  
  14.   
  15. // 例子一:用 600 毫秒緩慢的將段落的透明度調整到 0.66,大約 2/3 的可見度。  
  16. $("p").fadeTo("slow", 0.66);  
  17.   
  18. // 例子二:用 200 毫秒快速將段落的透明度調整到 0.25,大約 1/4 的可見度,之後彈出一個對話框。  
  19. $("p").fadeTo("fast", 0.25, function() {  
  20.    alert("Animation Done.");  
  21. });  


    ●  animate(params, options) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 用於創建自定義動畫的函數。 
  3.  * 
  4.  * 這個函數的關鍵在於指定動畫形式及結果樣式屬性對象。這個對象中每個屬性都表示一個可以變化的樣式 
  5.  * 屬性(如 "height", "top" 或 "opacity")。注意:所有指定的屬性必須用駱駝形式,比如用 marginLeft 
  6.  * 代替 margin-left。而每個屬性的值表示這個樣式屬性到多少時動畫結束。如果是一個數值,樣式屬性就 
  7.  * 會從當前的值漸變到指定的值。如果使用的是 "hide", "show" 或 "toggle" 這樣的字符串值,則會爲該 
  8.  * 屬性調用默認的動畫形式。 
  9.  * 
  10.  * 在 jQuery 1.2 中,你可以使用 em 和 % 單位。另外,在 jQuery 1.2 中,你可以通過在屬性值前面指定 
  11.  * "+=" 或 "-=" 來讓元素做相對運動。 
  12.  *  
  13.  * @params(Options) 一組包含作爲動畫屬性和終值的樣式屬性和及其值的集合 
  14.  * @options(Options) 一組包含動畫選項的值的集合 
  15.  *    1. duration(String, Number) (默認值: "normal") 三種預定速度之一的字符串("slow",  
  16.  *       "normal", or "fast")或表示動畫時長的毫秒數值(如:1000) 
  17.  *    2. easing(String) (默認值: "swing") 要使用的擦除效果的名稱(需要插件支持)。默認 jQuery  
  18.  *       提供 "linear" 和 "swing" 
  19.  *    3. complete(Function) 在動畫完成時執行的函數 
  20.  *    4. step(Callback) 
  21.  *    5. queue(Boolean) (默認值: true) 設定爲 false 將使此動畫不進入動畫隊列(jQuery 1.2中新增) 
  22.  * @return jQuery Object 
  23.  * @owner jQuery Object 
  24.  */  
  25. function animate(params, options);  
  26.   
  27. // 例子一:第一個按鈕按了之後展示了不在隊列中的動畫。在 div 擴展到 90% 的同時也在增加字體,一旦字體  
  28. //         改變完畢後,邊框的動畫纔開始。第二個按鈕按了之後就是一個傳統的鏈式動畫,即等前一個動畫完  
  29. //         成後,後一個動畫纔會開始。  
  30. <button id="go1">? Animate Block1</button>  
  31. <button id="go2">? Animate Block2</button>  
  32. <div id="block1">Block1</div><div id="block2">Block2</div>  
  33.   
  34. $("#go1").click(function() {  
  35.   $("#block1").animate( { width: "90%"}, { queue: false, duration: 5000 } )  
  36.      .animate( { fontSize: '10em' } , 1000 )  
  37.      .animate( { borderWidth: 5 }, 1000);  
  38. });  
  39.   
  40. $("#go2").click(function(){  
  41.   $("#block2").animate( { width: "90%"}, 1000 )  
  42.      .animate( { fontSize: '10em' } , 1000 )  
  43.      .animate( { borderWidth: 5 }, 1000);  
  44. });  
  45.   
  46. // 例子二:用 600 毫秒切換段落的高度和透明度。  
  47. $("p").animate({  
  48.    height: 'toggle', opacity: 'toggle'  
  49.  }, { duration: "slow" });  
  50.    
  51. // 例子三:用 500 毫秒將段落移到 left 爲 50 的地方並且完全清晰顯示出來(透明度爲1)。  
  52. $("p").animate({  
  53.    left: 50, opacity: 'show'  
  54.  }, { duration: 500 });  
  55.    
  56. // 例子四:一個使用 "easein" 函數提供不同動畫樣式的例子。只有使用了插件來提供這個" easein" 函數,  
  57. //         這個參數才起作用。   
  58. $("p").animate({  
  59.    opacity: 'show'  
  60.  }, { duration: "slow", easing: "easein" });  


    ●  animate(params [, duration[, easing[, callback]]]) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 描述同 animate(params, options) 
  3.  *  
  4.  * @params(Options) 一組包含作爲動畫屬性和終值的樣式屬性和及其值的集合 
  5.  * @duration(String, Number) (可選) 三種預定速度之一的字符串("slow", "normal", or  
  6.  *                           "fast")或表示動畫時長的毫秒數值(如:1000) 
  7.  * @easing(String) (可選) 要使用的擦除效果的名稱(需要插件支持)。默認jQuery提供"linear"和"swing" 
  8.  * @callback(Function) (可選) 在動畫完成時執行的函數 
  9.  * @return jQuery Object 
  10.  * @owner jQuery Object 
  11.  */  
  12. function animate(params [, duration[, easing[, callback]]]);  
  13.   
  14. // 例子一:點擊按鈕後 div 元素的幾個不同屬性一同變化。  
  15. <button id="go"> Run</button>  
  16. <div id="block">Hello!</div>  
  17.   
  18. // 在一個動畫中同時應用三種類型的效果  
  19. $("#go").click(function(){  
  20.   $("#block").animate({   
  21.     width: "90%",  
  22.     height: "100%",   
  23.     fontSize: "10em",   
  24.     borderWidth: 10  
  25.   }, 1000 );  
  26. });  
  27.   
  28. // 例子二:讓指定元素左右移動。  
  29. <button id="left">?</button> <button id="right">?</button>  
  30. <div class="block"></div>  
  31.   
  32. $("#right").click(function(){  
  33.   $(".block").animate({left: '+50px'}, "slow");  
  34. });  
  35.   
  36. $("#left").click(function(){  
  37.   $(".block").animate({left: '-50px'}, "slow");  
  38. });  
  39.    
  40. // 例子三:在 600 毫秒內切換段落的高度和透明度。  
  41. $("p").animate({  
  42.    height: 'toggle', opacity: 'toggle'  
  43.  }, "slow");  
  44.    
  45. // 例子四:用 500 毫秒將段落移到 left 爲 50 的地方並且完全清晰顯示出來(透明度爲1)。  
  46. $("p").animate({  
  47.    left: 50, opacity: 'show'  
  48.  }, 500);  
  49.    
  50. // 例子五:一個使用 "easein" 函數提供不同動畫樣式的例子。只有使用了插件來提供這個 "easein" 函數,  
  51. //         這個參數才起作用。  
  52. $("p").animate({  
  53.    opacity: 'show'  
  54.  }, "slow""easein");  


    ●  dequeue() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 從動畫隊列中移除一個隊列函數。 
  3.  *  
  4.  * @return jQuery Object 
  5.  * @owner jQuery Object 
  6.  */  
  7. function dequeue();  
  8.   
  9. // 例子:  
  10. <style>  
  11.   div { margin:3px; width:50px; position:absolute;  
  12.         height:50px; left:10px; top:30px;   
  13.         background-color:yellow; }  
  14.   div.red { background-color:red; }  
  15. </style>  
  16.   
  17. <button>Start</button>  
  18. <div></div>  
  19.   
  20. $("button").click(function() {  
  21.   $("div").animate({left:'+=200px'}, 2000);  
  22.   $("div").animate({top:'0px'}, 600);  
  23.   $("div").queue(function () {  
  24.       $(this).toggleClass("red");  
  25.       $(this).dequeue();  
  26.   });  
  27.   $("div").animate({left:'10px', top:'30px'}, 700);  
  28. });  


    ●  queue() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 返回指向第一個匹配元素的隊列(將是一個函數數組)。 
  3.  *  
  4.  * @return Array<Function> 
  5.  * @owner jQuery Object 
  6.  */  
  7. function queue();  
  8.   
  9. // 例子:顯示隊列長度。  
  10. <style>  
  11.   div { margin:3px; width:40px; height:40px;  
  12.         position:absolute; left:0px; top:30px;   
  13.         background:green; display:none; }  
  14.   div.newcolor { background:blue; }  
  15.   span { color:red; }  
  16. </style>  
  17.   
  18. <button id="show">Show Length of Queue</button>  
  19. <span></span>  
  20. <div></div>  
  21.   
  22. $("#show").click(function () {  
  23.     var n = $("div").queue("fx");  
  24.     $("span").text("Queue length is: " + n.length);  
  25. });  
  26. function runIt() {  
  27.     $("div").show("slow");  
  28.     $("div").animate({left:'+=200'},2000);  
  29.     $("div").slideToggle(1000);  
  30.     $("div").slideToggle("fast");  
  31.     $("div").animate({left:'-=200'},1500);  
  32.     $("div").hide("slow");  
  33.     $("div").show(1200);  
  34.     $("div").slideUp("normal", runIt);  
  35. }  
  36. runIt();  


    ●  queue(callback) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 在匹配的元素的動畫隊列中添加一個函數。 
  3.  *  
  4.  * @callback(Function) 要添加進隊列的函數 
  5.  * @return jQuery Object 
  6.  * @owner jQuery Object 
  7.  */  
  8. function queue(callback);  
  9.   
  10. // 例子:插入一個自定義函數,如果函數執行後要繼續隊列,則執行 jQuery(this).dequeue();。  
  11. <style>  
  12.   div { margin:3px; width:40px; height:40px;  
  13.         position:absolute; left:0px; top:30px;   
  14.         background:green; display:none; }  
  15.   div.newcolor { background:blue; }  
  16. </style>  
  17.   
  18. Click here...  
  19. <div></div>  
  20.   
  21. $(document.body).click(function() {  
  22.     $("div").show("slow");  
  23.     $("div").animate({left:'+=200'},2000);  
  24.     $("div").queue(function () {  
  25.         $(this).addClass("newcolor");  
  26.         $(this).dequeue();  
  27.     });  
  28.     $("div").animate({left:'-=200'},500);  
  29.     $("div").queue(function () {  
  30.         $(this).removeClass("newcolor");  
  31.         $(this).dequeue();  
  32.     });  
  33.     $("div").slideUp();  
  34. });  


    ●  queue(queue) 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 將匹配元素的動畫隊列用新的一個隊列來代替(函數數組)。 
  3.  *  
  4.  * @queue(Array<Function>) 用於替換的隊列。所有函數都有同一個參數,這個值與 queue(callback) 相同 
  5.  * @return queue 
  6.  * @owner jQuery Object 
  7.  */  
  8. function queue(queue);  
  9.   
  10. // 例子:通過設定隊列數組來刪除動畫隊列。  
  11. <style>  
  12.   div { margin:3px; width:40px; height:40px;  
  13.         position:absolute; left:0px; top:30px;   
  14.         background:green; display:none; }  
  15.   div.newcolor { background:blue; }  
  16. </style>  
  17.   
  18. <button id="start">Start</button>  
  19. <button id="stop">Stop</button>  
  20. <div></div>  
  21.   
  22. $("#start").click(function () {  
  23.     $("div").show("slow");  
  24.     $("div").animate({left:'+=200'},5000);  
  25.     $("div").queue(function () {  
  26.         $(this).addClass("newcolor");  
  27.         $(this).dequeue();  
  28.     });  
  29.     $("div").animate({left:'-=200'},1500);  
  30.     $("div").queue(function () {  
  31.         $(this).removeClass("newcolor");  
  32.         $(this).dequeue();  
  33.     });  
  34.     $("div").slideUp();  
  35. });  
  36. $("#stop").click(function () {  
  37.     $("div").queue("fx", []);  
  38.     $("div").stop();  
  39. });  


    ●  stop() 
Javascript代碼  收藏代碼
  1. /** 
  2.  * 停止所有在指定元素上正在運行的動畫。如果隊列中有等待執行的動畫,他們將被馬上執行。 
  3.  *  
  4.  * @queue(Array<Function>) 用於替換的隊列。所有函數都有同一個參數,這個值與 queue(callback) 相同 
  5.  * @return jQuery Object 
  6.  * @owner jQuery Object 
  7.  */  
  8. function stop();  
  9.   
  10. // 例子:點擊 Go 之後開始動畫,點 Stop 之後會在當前位置停下來。  
  11. <button id="go">Go</button> <button   
  12. id="stop">STOP!</button>  
  13. <div class="block"></div>  
  14. <button id="go">Go</button> <button   
  15. id="stop">STOP!</button>  
  16. <div class="block"></div>  
  17.   
  18. // 開始動畫  
  19. $("#go").click(function() {  
  20.   $(".block").animate({left: '+200px'}, 5000);  
  21. });  
  22.   
  23. // 當點擊按鈕後停止動畫  
  24. $("#stop").click(function(){  
  25.   $(".block").stop();  
  26. });  
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章