亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 語言 > JavaScript > 正文

jquery動畫效果學習筆記(8種效果)

2024-05-06 16:25:05
字體:
來源:轉載
供稿:網友

這篇文章分享了一份jquery動畫效果學習筆記,針對jquery動畫效果進行細致解析,對淡入淡出效果、滑動效果進行原理講解,想要學好jquery動畫效果,就耐心閱讀本文,相信大家會有意想不到的收獲。

1、元素的顯示和隱藏

display:none; 隱藏

display:block; 顯示

簡單顯示和隱藏方法

a) show() 顯示

b) hide() 隱藏

c) toggle() 開關,顯示則隱藏,隱藏則顯示

 

 
  1. <script type="text/javascript"
  2. function f1(){ 
  3. //隱藏 
  4. $("div").hide();//display:none 
  5. //document.getElementById('id').style.display="none"; 
  6. function f2(){ 
  7. //顯示 
  8. $("div").show();//display:block 
  9. function f3(){ 
  10. $("div").toggle(); 
  11. </script> 
  12. <style type="text/css"
  13. div {width:300px; height:200px; background-color:blue;} 
  14. </style> 
  15. <body> 
  16. <div>duck and dog</div> 
  17. <input type="button" value="隱藏" onclick="f1()" /> 
  18. <input type="button" value="顯示" onclick="f2()" /> 
  19. <input type="button" value="開關效果" onclick="f3()" /> 
  20. </body> 

CSS支持兩種方法顯示和隱藏元素,即使用visibility或display樣式,他們控制元素顯示和隱藏的時候效果相同,但是結果卻不同。

具體說明如下:

visibility 屬性在隱藏元素的時候,同時會保存元素在文檔流中的影響力,隱藏后元素的未知保持不變。該屬性包括visible(默認)和hidden兩個值。

display 隱藏后,隱藏的元素不再占用文檔的位置。

2、滑動效果顯示和隱藏

slideUp(speed[,callback]) 向上滑動元素并最終隱藏

slideDown(speed[,callback]) 向下滑動元素并最終顯示

slideToggle(speed[,callback])

speed:設置效果的速度(slow(600)normal(400) fast(200) 時間(毫秒))

callback: 效果執行完畢之后自動調用的回調函數

 

 
  1. <script type="text/javascript"
  2. function f1(){ 
  3. //隱藏 
  4. $("div").slideUp(3000,function(){ 
  5. alert('我消失了,你能看到么'); 
  6. }); 
  7. function f2(){ 
  8. //顯示 
  9. $("div").slideDown(3000,function(){ 
  10. alert('我又回來了'); 
  11. });//display:block 
  12. function f3(){ 
  13. $("div").slideToggle(1000); 
  14. $(function(){ 
  15. //氣缸滑動效果 
  16. //setInterval("f3()",1000); 
  17. }); 
  18. </script> 
  19.  
  20. <style type="text/css"
  21. div {width:300px; height:200px; background-color:blue;} 
  22. </style> 
  23.  
  24.  
  25. <body> 
  26. <div>duck and dog</div> 
  27. <input type="button" value="隱藏" onclick="f1()" /> 
  28. <input type="button" value="顯示" onclick="f2()" /> 
  29. <input type="button" value="開關效果" onclick="f3()" /> 
  30. </body> 

3、淡入淡出效果

讓元素通過一定透明度變化,達到顯示和隱藏的效果

fadeIn(speed, [callback])

fadeOut(speed, [callback])

fadeToggle(speed, [callback])開關效果

fadeTo(speed, opacity, [callback]) 把div設置一定透明度(0-1)0.3就是30%透明度

 

 
  1. <script type="text/javascript">  
  2. function f1(){ 
  3. //隱藏 
  4. $("div").fadeOut(4000); 
  5. function f2(){ 
  6. //顯示 
  7. $("div").fadeIn(4000); 
  8. $("#two").fadeTo(2000,0.3); 
  9.  
  10. function f3(){ 
  11. $("div").fadeToggle(2000); 
  12.  
  13. </script> 
  14. <style type="text/css"
  15. div {width:300px; height:200px; background-color:blue;} 
  16. </style> 
  17. <body> 
  18. <div id = "two">duck and dog</div> 
  19.  
  20. <input type="button" value="隱藏" onclick="f1()" /> 
  21. <input type="button" value="顯示" onclick="f2()" /> 
  22. <input type="button" value="開關效果" onclick="f3()" /> 
  23. </body> 

設置透明度,div的透明度是30%:

4、動畫效果底層方法animate()

show() hide() 等等動畫效果內部都是執行animate()方法

 

 
  1. $().animate(css效果參數[,時間][,回調函數]); 

css()等一般jquery方法執行完畢之后會返回當前jquery對象,因此jquery的許多方法可以鏈式調用。

 

 
  1. <script type="text/javascript"
  2. function f1(){ 
  3. //文字大小、文字粗體、div本身寬度和高度 
  4. //font-size background-color color 
  5.  
  6. console.log($("div")); 
  7. //jquery對象調用完畢css方法本身還是一個jquery對象 
  8. //說明css方法執行完畢有return this關鍵字 
  9. console.log($("div").css('font-weight','bold').css("background-color",'pink'));  
  10.  
  11. var jn = {'font-size':'30px',width:'400px',height:'300px'}; 
  12. $("div").css('font-weight',"bold").css("background-color","pink").css("color","white").animate(jn,2000); 
  13.  
  14. //$("div").animate(jn,2000); 
  15.  
  16. </script> 
  17.  
  18. <style type="text/css"
  19. div {width:300px; height:200px; background-color:blue; } 
  20. </style> 
  21.  
  22. <body> 
  23. <div>duck and dog</div> 
  24. <input type="button" value="設置" onclick="f1()" /> 
  25. </body> 

5、累加累減動畫

如果動畫一次設定left:500 ,第一次單擊div會左移500像素,第二次單擊就不會動了。累加累減就是連續動的,只需要將left:”500px”改成left:”+=500px”或者left:”-=500px”即可。

 

 
  1. (function(){  
  2. $("#panel").click(function(){  
  3. $(this).animate({left: "+=500px"}, 3000);  
  4. })  
  5. })</span>  

6、多重動畫

1、同時執行多個動畫

上面的例子只控制了left屬性的變化,這回我們在控制left屬性的時候同時控制元素高度變為200px

 

 
  1. $(function(){  
  2. $("#panel").click(function(){  
  3. $(this).animate({left: "500px",height:"200px"}, 3000);  
  4. })  
  5. }) 

2、順序執行動畫

上面例子中元素右移和放大高度兩個動畫是同時進行的?,F在我們要實現先右移再放大高度,那很簡單,只需要把上面的animate()方法拆開寫成兩個即可

 

 
  1. $(function(){  
  2. $("#panel").click(function(){  
  3. $(this).animate({left: "500px"},3000)  
  4. .animate({height:"200px"},1000);  
  5. })  
  6. })  

3、綜合動畫

接下來完成更復雜的動畫。單擊div元素后讓他向右移動的同時增大他的高度,并將它的不透明度從50%切換到100%。然后再讓它從上向下移動,同時它的寬度變大,當完成這

些效果后讓它以淡出的方式隱藏掉。

 

 
  1. $(function(){  
  2. $("#panel").css("opacity",0.5);//設置不透明度  
  3. $("#panel").click(function(){  
  4. $(this).animate({left: "400px",height:"200px",opacity:"1"},3000)  
  5. .animate({top:"200px",width:"200px"},3000)  
  6. .fadeOut(1000);  
  7. })  
  8. }) 

7、動畫回調函數

在上例中,如果想在最后一步切換css樣式而不是隱藏元素。這我們就可以用到animate的第三個參數回調函數了

 

 
  1. $(function(){  
  2. $("#panel").css("opacity",0.5);//設置不透明度  
  3. $("#panel").click(function(){  
  4. $(this).animate({left: "400px",height:"200px",opacity:"1"},3000)  
  5. .animate({top:"200px",width:"200px"},3000,function(){$(this).css("border","5px solid blue")});  
  6.  
  7. })  
  8. })  

這樣就把css方法加入到動畫隊列中了。

8、停止動畫和判斷是否處于動畫狀態

1、停止元素的動畫

stop([clearQueue][,gotoEnd]) 兩個都是可選參數,都是boolean類型

參數說明:

clearQueue:代表是否清空未執行完的動畫隊列

gotoEnd :代表是否將正在執行的動畫跳到末狀態

通過一個綜合的示例就可以弄明白stop()方法的這兩個參數了:

 

 
  1. <style type="text/css">  
  2. *{margin:0;padding:0;}  
  3. body { font-size: 13px; line-height: 130%; padding: 60px }  
  4. #panel { width: 60px; border: 1px solid #0050D0 ;height:22px;overflow:hidden;}  
  5. .head { padding: 5px; background: #96E555; cursor: pointer;width: 300px;}  
  6. .content { padding: 10px; text-indent: 2em; border-top: 1px solid #0050D0;display:block; width:280px;}  
  7. </style>  
  8. <script src="../../../scripts/jquery.js" type="text/javascript"></script>  
  9. <script type="text/javascript">  
  10. $(function(){  
  11. $("button:eq(0)").click(function () {  
  12. $("#panel")  
  13. .animate({height : "150" } , 2000 )  
  14. .animate({width : "300" } , 2000 )  
  15. .hide(3000)  
  16. .animate({height : "show" , width : "show" , opacity : "show" } , 2000 )  
  17. .animate({height : "500"} , 2000 );  
  18. });  
  19. $("button:eq(1)").click(function () {  
  20. $("#panel").stop();//停止當前動畫,繼續下一個動畫  
  21. });  
  22. $("button:eq(2)").click(function () {  
  23. $("#panel").stop(true);//清除元素的所有動畫  
  24. });  
  25. $("button:eq(3)").click(function () {  
  26. $("#panel").stop(false,true);//讓當前動畫直接到達末狀態 ,繼續下一個動畫  
  27. });  
  28. $("button:eq(4)").click(function () {  
  29. $("#panel").stop(true,true);//清除元素的所有動畫,讓當前動畫直接到達末狀態  
  30. });  
  31.  
  32. })  
  33. </script>  
  34.  
  35. <body>  
  36. <button>開始一連串動畫</button>  
  37. <button>stop()</button>  
  38. <button>stop(true)</button>  
  39. <button>stop(false,true)</button>  
  40. <button>stop(true,true)</button>  
  41. <div id="panel">  
  42. <h5 class="head">三國殺殺天下</h5>  
  43. <div class="content">  
  44. 夏侯惇的眼睛,陸遜的聯營,郭嘉司馬深深的基情  
  45. </div>  
  46. </div>  
  47. </body>  
  48. </html> 

2、判斷元素是否處于動畫狀態

當使用animate()方法的時候,要避免動畫的累積導致的動畫與用戶的行為不一致的現象。當用戶快速在某個元素上執行animate()動畫時,就會出現動畫累積。

解決辦法是判斷元素是否正在處于動畫狀態,當不處于動畫狀態的時候,才為元素添加新的動畫。

用法:

 

 
  1. if(!$(element).is(":animated")){  
  2. //添加新的動畫  

通過本文對8種jquery動畫效果的詳細剖析,玩轉jquery動畫效果,希望大家喜歡這篇針對jquery動畫效果進行全面介紹的文章。


注:相關教程知識閱讀請移步到JavaScript/Ajax教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
播播国产欧美激情| 97精品一区二区视频在线观看| 国产欧美在线视频| 欧美性xxxxxxxxx| 成人性生交大片免费看小说| 精品毛片网大全| 麻豆精品精华液| 韩国国内大量揄拍精品视频| 九九综合九九综合| 日韩成人高清在线| 欧美日韩激情视频| 国产亚洲人成a一在线v站| 91成品人片a无限观看| 91手机视频在线观看| 亚洲综合日韩在线| 日本欧美一级片| 亚洲欧洲黄色网| 亚洲视频在线免费观看| 日韩电影中文 亚洲精品乱码| 青青草99啪国产免费| 夜夜嗨av色综合久久久综合网| 亚洲xxx自由成熟| 日韩中文字幕网址| 成人有码在线播放| 亚洲成人教育av| 欧美一区深夜视频| 色综合久久88| 日韩大片在线观看视频| 国色天香2019中文字幕在线观看| 91精品国产91久久久久久最新| 亚洲美女又黄又爽在线观看| 日韩欧美高清在线视频| 18久久久久久| 岛国av一区二区| 欧美国产日本在线| 亚洲欧美成人网| 亚洲大胆人体视频| 精品视频一区在线视频| 深夜福利亚洲导航| 夜色77av精品影院| 亚洲国产成人在线播放| 热re91久久精品国99热蜜臀| 欧美日韩亚洲91| 91久久精品国产91久久| 国产精品 欧美在线| 国产精品一区二区三区在线播放| 欧美视频免费在线| 欧美在线免费视频| 亚洲国产成人精品电影| 日韩电影中文字幕在线观看| 久久久久久亚洲| 欧美激情视频免费观看| 欧美一区二区三区图| 亚洲综合最新在线| 亚洲人av在线影院| 成人精品aaaa网站| 欧美日韩999| 成人av在线亚洲| 在线不卡国产精品| 欧美在线性爱视频| 亚洲网站视频福利| 国产精品99一区| www欧美xxxx| 亚洲免费视频在线观看| 日本欧美在线视频| 亚洲免费视频在线观看| 亚洲欧洲一区二区三区久久| 国产精品女主播| 国产精品欧美激情在线播放| 色妞一区二区三区| 欧美成人精品在线| 国产精品精品视频一区二区三区| 91精品久久久久久久久中文字幕| 国内外成人免费激情在线视频网站| 国产精品高潮在线| 国产99久久精品一区二区永久免费| 欧美孕妇与黑人孕交| 亚洲片在线资源| 国产精品99久久99久久久二8| 国产精品久久久久久久9999| 久久精视频免费在线久久完整在线看| 久久久久久国产三级电影| 亚洲综合日韩中文字幕v在线| 国产欧美日韩精品专区| 97国产精品人人爽人人做| 国产精品三级久久久久久电影| 欧美高清视频一区二区| 久久影视电视剧免费网站清宫辞电视| 91精品久久久久久久久久另类| 精品无人国产偷自产在线| 亚洲精品电影在线观看| 91久久久国产精品| 国产精品久久久久久久久久久久久久| 国产精品国产福利国产秒拍| 欧美成人免费小视频| 中文字幕在线看视频国产欧美| 最新亚洲国产精品| 91精品国产色综合久久不卡98口| 中文字幕在线国产精品| 国产精品视频1区| 国内精久久久久久久久久人| 亚洲精品小视频在线观看| 97国产精品免费视频| 国产精品91视频| 国产视频精品一区二区三区| 国产成人91久久精品| 国产精品美女视频网站| 91久久在线观看| 国内伊人久久久久久网站视频| 性欧美xxxx交| 在线视频一区二区| 中国日韩欧美久久久久久久久| 久久久99久久精品女同性| 国产精品美女久久久免费| 性欧美xxxx交| 日韩在线观看免费全集电视剧网站| 国产精品成av人在线视午夜片| 久久精品国产2020观看福利| 国产精品99导航| 成人羞羞国产免费| 国产aⅴ夜夜欢一区二区三区| 欧美成人久久久| 成人有码视频在线播放| 久久久久久久国产精品| 久久久国产精彩视频美女艺术照福利| 66m—66摸成人免费视频| 国产精品福利在线| 国产精品无码专区在线观看| 55夜色66夜色国产精品视频| 欧洲精品久久久| 国产精品99久久久久久人| 精品一区精品二区| 欧美富婆性猛交| 岛国精品视频在线播放| 黑人欧美xxxx| 中文字幕9999| 国产日韩欧美成人| 欧美性理论片在线观看片免费| 欧美又大粗又爽又黄大片视频| 欧美视频在线免费| 黄色精品在线看| 国产一区二区三区视频在线观看| 大伊人狠狠躁夜夜躁av一区| 日韩中文字幕在线视频播放| 国产成人综合精品| 456国产精品| 亚洲国产精品va在线| 中文日韩电影网站| 精品爽片免费看久久| 国产精品久久视频| 日韩美女视频在线观看| 亚洲春色另类小说| 欧美老女人性视频| 亚洲欧美视频在线| 亚洲欧美一区二区三区在线| 精品夜色国产国偷在线| 中文字幕亚洲精品| 国产精品第一第二| 中文字幕最新精品| 最好看的2019年中文视频| 亚洲一级免费视频| 欧美成人午夜影院| 欧美日韩亚洲91| 久久全球大尺度高清视频|