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

首頁 > 語言 > JavaScript > 正文

逐一介紹Jquery data()、Jquery stop()、jquery delay()函數(詳)

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

這篇文章逐一介紹Jquery data()、Jquery stop()、jquery delay()函數(詳)的相關資料,需要的朋友可以參考下

首先給大家介紹jquery data()函數

jQuery中data()函數用于向被選元素附加數據,或者從被選元素獲取數據。通過data()函數存取的數據都是臨時數據,一旦頁面刷新,之前存放的數據都將不復存在。

一、jquery data()的作用

data() 方法向被選元素附加數據,或者從被選元素獲取數據。

通過data()函數存取的數據都是臨時數據,一旦頁面刷新,之前存放的數據都將不復存在。

該函數屬于jQuery對象(實例)。如果需要移除通過data()函數存放的數據,請使用 removeData() 函數。

二、jquery data的使用方式

1、獲取附加的data的值

$(selector).data(name)

參數說明

name:

可選。規定要取回的數據的名稱。

如果沒有規定名稱,則該方法將以對象的形式從元素中返回所有存儲的數據。

2、用name和value為對象附加數據

$(selector).data(name,value)

參數說明

selector:為需要附加或者獲取數據的對象。

name:參數為數據的名稱。

value:參數為數據的值。

3、使用對象向元素附加數據

使用帶有名稱/值對的對象向被選元素添加數據。

除了以提供 name 和 value 的方式進行賦值,我們還可以直接傳入另一個對象( “another” )作為參數。這種情況下,“another” 的屬性名稱和屬性值將被視為多個鍵值對,從中提取的 “name” 和 “value” 都會被復制到目標對象的緩存中。

$(selector).data(object)

參數說明

object:必需。規定包含名稱/值對的對象。

實例

 

 
  1. <html> 
  2. <head> 
  3. <script type="text/javascript"
  4. $(document).ready(function(){ 
  5. testObj=new Object(); 
  6. testObj.greetingMorn="Good Morning!"
  7. testObj.greetingEve="Good Evening!"
  8. $("#btn1").click(function(){ 
  9. $("div").data(testObj); 
  10. }); 
  11. $("#btn2").click(function(){ 
  12. alert($("div").data("greetingEve")); 
  13. }); 
  14. }); 
  15. </script> 
  16. </head> 
  17. <body> 
  18. <button id="btn1">把數據添加到 div 元素</button><br /> 
  19. <button id="btn2">獲取已添加到 div 元素的數據</button> 
  20. <div></div> 
  21. </body> 
  22. </html> 

接著給大家介紹jquery stop()函數

jQuery中stop()函數用于停止當前匹配元素上正在運行的動畫。默認情況下,stop()函數只會停止當前正在運行的動畫。如果你使用animate()函數為當前元素設置了A、B、C這3段動畫,如果當前正在執行的動畫是A,則只會停止動畫A的執行,不會阻止動畫B和C的執行。當然,你也可以通過指定可選的選項參數來停止所有的動畫。

jQuery中stop()函數用于停止當前匹配元素上正在運行的動畫。

停止動畫并不是恢復到該動畫執行前的狀況,而是直接停止,當前動畫執行到什么狀態,就停留在什么狀態。

例如:執行一個元素高度從100px到200px的過渡動畫,當高度為150px時停止了該動畫,則當前高度仍然保持150px的現狀。如果該動畫設置了執行完畢后的回調函數,則不會執行該回調函數。

一、jquery stop()語法

$(selector).stop(stopAll,goToEnd)

參數說明

1、stopAll

可選。代表是否要清空未執行完的動畫隊列。

意思就是如果該參數值為true,則會停止所有后續動畫或事件。如果該參數值為false,則只停止被選元素當前執行的動畫,后續動畫不受影響。因此,該參數一般都為false。

如果使用stop()方法,則會立即停止當前正在運行的動畫,如果接下來還有動畫等待執行,則以當前狀態開始接下來的動畫。

2、goToEnd

可選。代表是否直接將正在執行的動畫跳轉到當前動畫的末尾。

規定是否允許完成當前動畫,該參數只能在設置了stopAll參數時使用

3、備注

默認情況下,不寫參數,則會被認為兩個參數都是false。

二、jquery stop()實例

HTML 代碼示例

 

 
  1. <!DOCTYPE> 
  2. <html> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> 
  5. <title>jquery stop()</title> 
  6. <script type="text/javascript"
  7. $(function(){ 
  8. $("button:eq(0)").click(function(){ 
  9. $("#panel").animate({height:"150" }, 1000).animate({width:"300" }, 
  10. 1000).hide(2000).animate({height:"show", width:"show", opacity:"show" }, 1000).animate({height:"500"}, 
  11. 1000); 
  12. }); 
  13. //stop([clearQueue][,gotoEnd]); 
  14.   //語法結構 
  15. $("button:eq(1)").click(function(){ 
  16. $("#panel").stop();//停止當前動畫,繼續下一個動畫 
  17. }); 
  18. $("button:eq(2)").click(function(){ 
  19. $("#panel").stop(true);//清除元素的所有動畫 
  20. }); 
  21. $("button:eq(3)").click(function(){ 
  22. $("#panel").stop(falsetrue);//讓當前動畫直接到達末狀態 ,繼續下一個動畫 
  23. }); 
  24. $("button:eq(4)").click(function(){ 
  25. $("#panel").stop(truetrue);//清除元素的所有動畫,讓當前動畫直接到達末狀態 
  26. }); 
  27. }) 
  28. </script> 
  29. </head> 
  30. <body> 
  31. <button>開始一連串動畫</button> 
  32. <button>stop()</button> 
  33. <button>stop(true)</button> 
  34. <button>stop(false,true)</button> 
  35. <button>stop(true,true)</button> 
  36. <div id="panel"
  37. <h5 class="head">什么是jQuery?</h5> 
  38. <div class="content"
  39. jQuery。 
  40. </div> 
  41. </div> 
  42. </body> 
  43. </html> 

實例說明

1、點擊按鈕(stop()),由于兩個參數都是false。所以點擊發生時,animater沒有跳到當前動畫(動畫1)的最終效果,而直接進入動畫2,然后動畫3,4,5.直至完成整個動畫。

2、點擊按鈕(stop(true)),由于第一個是true,第二個是false,所以animater立刻全部停止了,動畫不動了。

3、點擊按鈕(stop(false,true)),由于第一個是false,第二個是true,所以點擊發生時,animater身處的當前動畫(動畫1)停止并且animater直接跳到當前動畫(動畫1)的最終末尾效果位置,接著正常執行下面的動畫(動畫2,3,4,5),直至完成整個動畫。

3、點擊按鈕(stop(true,true)),由于兩個都是true,所以點擊發生時,animater跳到當前動畫(動畫1)的最終末尾效果位置,然后,全部動畫停止。

三、jquery stop()在工作中的應用

一個下拉菜單,當鼠標移上去的時候就菜單顯示,當鼠標離開的時候菜單隱藏 ,如果我快速不斷地將鼠標移入移出菜單(即,當菜單下拉動畫未完成時,鼠標又移出了菜單)就會產生“動畫積累",當鼠標停止移動后,積累的動畫還會持續執行,直到動畫序列執行完畢。

解決方法

在寫動畫效果的代碼前加入stop(true,true),這樣每次快速的移入移出菜單,就正常了,當移入一個菜單的時候,停止所有加入隊列的動畫,完成當前的動畫(跳至當前動畫的最終效果位置)。

最后給大家介紹jquery delay()

jquery中delay()方法的功能是設置一個延時值來推遲動畫效果的執行,它的調用格式為:$(selector).delay(duration)其中參數duration為延時值,它的單位是毫秒,當超過延時值時,動畫繼續執 ,delay與setTimeout函數還是有區別的,delay是更適合某些使用情況。

可以將隊列中等待執行的下一個動畫延遲指定的時間后才執行。它常用在隊列中的兩個jQuery效果函數之間,從而在上一個動畫效果執行后延遲下一個動畫效果的執行時間。

一、語法

$(selector).delay(speed,queueName)

1、參數說明

2、備注

延時時間(duration參數)是以毫秒為單位的,數值越大,動畫越慢,不是越快。

字符串 'fast' 和 'slow' 分別代表200和600毫秒的延時。

二、delay()實例

HTML

 

 
  1. <p>動畫效果: 
  2. <select id="animation"
  3. <option value="1">動畫1</option> 
  4. <option value="2">動畫2</option> 
  5. <option value="3">動畫3</option> 
  6. <option value="4">動畫4</option> 
  7. </select> 
  8. <input id="exec" type="button" value="執行動畫" > 
  9. </p> 
  10. <div id="myDiv" style="width:300px; height: 100px; background-color: #eee;">CodePlayer</div> 
  11. <script> 
  12. $("#exec").click( function(){ 
  13. var v = $("#animation").val(); 
  14. var $myDiv = $("#myDiv"); 
  15. if(v == "1"){ 
  16. $myDiv.slideUp( 1000 ) 
  17. .delay( "slow" ) 
  18. .fadeIn( 1500 ); 
  19. }else if(v == "2"){ 
  20. $myDiv.fadeOut( "slow" ) 
  21. .delay( 2000 ) 
  22. .slideDown( 1000 ) 
  23. .animate( { height: "+=300" } ); 
  24. }else if(v == "3"){ 
  25. /* 
  26. 注意:只有動畫才會被加入效果隊列中 
  27. 以下代碼實際上只有slideUp()、slideDown()會加入效果隊列 
  28. delay()的延遲只對slideDown()起作用 
  29. show()在被調用時就立即執行了(此時slideUp的動畫效果尚未執行結束) 
  30. 以下代碼的執行順序時: 
  31. 1、slideUp()被加入隊列、開始執行, 
  32. 2、show()也開始執行,它立即執行完畢,此時slideUp()的動畫尚未執行結束 
  33. 3、延遲2秒 
  34. 4、執行SlideDown() 
  35. */ 
  36. $myDiv.slideUp( "slow" ) 
  37. .delay( 2000 )  
  38. .show( ) // 它不是一個效果動畫 
  39. .slideDown( ); 
  40. }else if(v == "4"){ 
  41. $myDiv.show() 
  42. .delay( 2000 ) 
  43. // 在現有高度的基礎上增加300px (如果原來是100px,增加后就是400px) 
  44. .animate( { height: "+=300px" }, 2000 )  
  45. .animate( { width: "50%" }, 1000 )  
  46. .animate( { width: "200px", height: "100px" }, 1000 );  
  47. } ); 
  48. </script> 

實例二、讓頁面中的按鈕在頁面加載后500毫秒隱藏,然后再過1500毫秒顯示出來

 

 
  1. $(function(){  
  2. var $inputs = $('input[type=button]')  
  3. .delay(500)  
  4. .queue(function(){$(this).hide().dequeue();})  
  5. .delay(1500)  
  6. .queue(function(){$(this).show();});  
  7. }); 

三、jquery中使用delay()注意事項

1、delay適用在jQuery動畫效果和類似隊列中

2、如果下一項是動畫效果,則會執行延遲調用

3、如果不是效果動畫,則它不會被加入效果隊列中,因此該函數不會對它進行延遲調用。

4、如果要將不是動畫效果加入延遲,則需要將它加入到queue隊列中去。

例如

 

 
  1. $(function(){  
  2. var $inputs = $('input[type=button]')  
  3. .delay(500)  
  4. .queue(function(){$(this).hide();})  
  5. .delay(1500)  
  6. .show(1);  
  7. //.queue(function(){$(this).show();});  
  8. }); 

備注:上面方法只隱藏,不會再顯示,queue執行完后,也中止了動畫隊列的繼續執行,需要調用dequeue使其執行下去

又如

 

 
  1. $(function(){  
  2. var $inputs = $('input[type=button]')  
  3. .delay(500)  
  4. .queue(function(){$(this).hide().dequeue();})  
  5. .delay(1500)  
  6. .show();  
  7. //.show(1);  
  8. }); 

備注:上面方法也是只隱藏,而不會再顯示!這里show不再指定顯示動畫時長,則show方法不再是一個動畫。由此可知,dequeue只能使得動畫隊列中的后續方法執行下去,不能使非動畫隊列中的jquery方法繼續執行!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
成人日韩在线电影| 国产精品自产拍在线观看| 国产日韩欧美在线观看| 亚洲人成网站免费播放| 久久6精品影院| 久久夜精品va视频免费观看| 亚洲电影中文字幕| 国产男女猛烈无遮挡91| 欧美在线观看日本一区| 久久久www成人免费精品张筱雨| 91精品国产综合久久香蕉的用户体验| 亚洲欧美另类在线观看| 九九精品视频在线| 色av吧综合网| 欧美日韩国产精品一区二区不卡中文| 91在线观看免费高清完整版在线观看| 成人精品福利视频| 成人亚洲综合色就1024| 亚洲欧美日韩一区在线| 日韩电影免费在线观看| 久久久久国产一区二区三区| 日本亚洲精品在线观看| 欧美日韩国产成人在线观看| 国产精品久久久久77777| 日韩欧美中文第一页| 国产欧美欧洲在线观看| 久久视频在线看| 亚洲国产精品久久久久| 国产欧美日韩中文字幕在线| 欧美成人午夜激情视频| 欧美大片在线免费观看| 亚洲激情 国产| 九九热这里只有精品6| 欧美成人一二三| 97在线观看视频国产| 亚洲精品久久视频| 国产91精品黑色丝袜高跟鞋| 亚洲成av人片在线观看香蕉| 国产日产欧美a一级在线| 91精品在线国产| 2020久久国产精品| 青青草99啪国产免费| 国产精品久久久av久久久| 2018国产精品视频| 国产成人精品av在线| 久久久久免费精品国产| 亚洲精品视频二区| 久久69精品久久久久久久电影好| 成人国产亚洲精品a区天堂华泰| 亚洲一区二区在线播放| 亚洲免费高清视频| 国产精品揄拍一区二区| 欧美麻豆久久久久久中文| 麻豆国产va免费精品高清在线| 亚洲va久久久噜噜噜久久天堂| 亚洲自拍偷拍色图| zzijzzij亚洲日本成熟少妇| 中日韩美女免费视频网站在线观看| 日韩电影免费观看中文字幕| 超碰日本道色综合久久综合| 亚洲欧美日韩成人| 久久久影视精品| 亚洲第一色在线| 日韩精品在线视频| 日韩精品欧美国产精品忘忧草| 日韩精品日韩在线观看| 精品高清美女精品国产区| 亚洲高清在线观看| 91日韩在线视频| 亚洲人成绝费网站色www| 91美女高潮出水| 日本一欧美一欧美一亚洲视频| 97碰碰碰免费色视频| 欧美日韩一区免费| 伊人久久免费视频| 国产v综合ⅴ日韩v欧美大片| 国产精品自拍偷拍| 91在线视频九色| 福利二区91精品bt7086| 中文字幕亚洲图片| 久久综合电影一区| 少妇高潮 亚洲精品| 黑人精品xxx一区一二区| 亚洲欧美日本精品| 亚洲国产日韩欧美在线图片| 中文日韩电影网站| 成人xvideos免费视频| 亚洲美女av网站| 成人午夜在线影院| 国产成人一区二区三区小说| 中文字幕免费精品一区| 国产精品久久久久久久久影视| xx视频.9999.com| 亚洲人成绝费网站色www| 欧美成人精品在线| 成人xxxx视频| 91精品国产高清| 国产亚洲精品美女久久久久| 欧美日韩精品中文字幕| 欧美日韩免费一区| 国产日韩在线精品av| 久久久久国产精品免费| 日本成人免费在线| 国产精品激情自拍| 久久亚洲一区二区三区四区五区高| 精品视频中文字幕| 欧美视频裸体精品| 国产日韩欧美夫妻视频在线观看| 97精品国产97久久久久久| 国产精自产拍久久久久久| 91高清视频在线免费观看| 久久激情视频久久| 国产日韩欧美在线| 中文字幕亚洲字幕| 国产精自产拍久久久久久蜜| 国产日韩精品在线观看| 日韩一区在线视频| 欧美在线视频播放| 欧美激情网站在线观看| 亚洲美女av在线| 亚洲性夜色噜噜噜7777| 国产日韩在线观看av| 精品视频在线播放免| 中文字幕日韩av电影| 日韩欧美视频一区二区三区| 日韩av网站电影| 亚洲精品国精品久久99热一| 久久免费视频网| 最近中文字幕2019免费| 96精品久久久久中文字幕| 97国产精品久久| 久久国产精品99国产精| 欧美在线一区二区三区四| 一区二区三区高清国产| 91av在线视频观看| 欧美一区二区三区四区在线| 日韩中文理论片| 欧美激情精品久久久久久| 色中色综合影院手机版在线观看| 欧美性生交xxxxxdddd| 亚洲跨种族黑人xxx| 欧美成人精品不卡视频在线观看| 欧美激情免费视频| 国产一区二区三区欧美| 国产一区二区三区视频免费| 欧美怡春院一区二区三区| 最近2019免费中文字幕视频三| 日韩理论片久久| 国产成人精品日本亚洲专区61| 欧美日韩激情视频| 欧美日韩在线第一页| 午夜精品久久久久久久99黑人| www.99久久热国产日韩欧美.com| 久久久久国产精品免费网站| 日韩成人激情视频| 国产98色在线| 久久久久久久一| 欧美日韩国产丝袜另类| 色婷婷久久av| 国产精品一区二区三区久久久| 国模精品视频一区二区三区| 国产精品欧美在线| 日韩欧美在线播放| 亚洲国产成人精品一区二区|