精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

在Vue中創(chuàng)建可重用的 Transition

開發(fā) 前端
如果我們可以將它們封裝到組件中,并在多個(gè)項(xiàng)目中簡單地重用它們,結(jié)果會(huì)怎樣呢?我們將介紹幾種定義transition的方法,并深入研究如何使它們真正可重用。

本文轉(zhuǎn)載自微信公眾號(hào)「大遷世界」,轉(zhuǎn)載本文請(qǐng)聯(lián)系大遷世界公眾號(hào)。

Vue.js中的transition確實(shí)很棒。毫無疑問,它們可以非常輕松地讓應(yīng)用程序栩栩如生,但是通常必須在每個(gè)項(xiàng)目中從頭開始編寫它們,甚至還需要引入animate.css之類的CSS庫來使它們功能更強(qiáng)大。

如果我們可以將它們封裝到組件中,并在多個(gè)項(xiàng)目中簡單地重用它們,結(jié)果會(huì)怎樣呢?我們將介紹幾種定義transition的方法,并深入研究如何使它們真正可重用。

[[328523]]

原始transition組件和CSS

定義transition的最簡單方法是使用transition·或transition-group組件。這需要為transition定義一個(gè)name`和一些CSS。

  1. <template> 
  2.   <div id="app"> 
  3.     <button v-on:click="show = !show"> 
  4.       Toggle 
  5.     </button> 
  6.     <transition name="fade"> 
  7.       <p v-if="show">hello</p> 
  8.     </transition> 
  9.   </div> 
  10. </template> 
  11. <script> 
  12. export default { 
  13.   name: "App", 
  14.   data() { 
  15.     return { 
  16.       show: true 
  17.     }; 
  18.   } 
  19. }; 
  20. </script> 
  21. <style> 
  22. .fade-enter-active, 
  23. .fade-leave-active { 
  24.   transition: opacity 0.3s; 
  25. .fade-enter, 
  26. .fade-leave-to { 
  27.   opacity: 0; 
  28. </style> 

 

看起來容易,對(duì)吧?然而,這種方法有一個(gè)問題。我們不能在另一個(gè)項(xiàng)目中真正重用這個(gè)transition。

封裝transition組件

如果我們將前面的邏輯封裝到一個(gè)組件中,并將其用作一個(gè)組件,結(jié)果會(huì)怎樣呢?

  1. // FadeTransition.vue 
  2. <template> 
  3.   <transition name="fade"> 
  4.     <slot></slot> 
  5.   </transition> 
  6. </template> 
  7. <script> 
  8. export default { 
  9.    
  10. }; 
  11. </script> 
  12. <style> 
  13. .fade-enter-active, 
  14. .fade-leave-active { 
  15.   transition: opacity 0.3s; 
  16. .fade-enter, 
  17. .fade-leave-to { 
  18.   opacity: 0; 
  19. </style> 
  20.  
  21. // App.vue 
  22.  
  23. <template> 
  24.   <div id="app"> 
  25.     <button v-on:click="show = !show"> 
  26.       Toggle transition 
  27.     </button> 
  28.     <fade-transition> 
  29.       <div v-if="show" class="box"></div> 
  30.     </fade-transition> 
  31.   </div> 
  32. </template> 
  33. <script>...</script> 
  34. <style>...</style> 

通過在transition組件中提供一個(gè)slot,我們幾乎可以像使用基本transition組件一樣使用它。這比前面的例子稍微好一點(diǎn),但是如果我們想要傳遞其他特定于transition的prop,比如mode或者一些hook,該怎么辦呢

封裝的包裝器transition組件

幸運(yùn)的是,Vue 中有一個(gè)功能,使我們可以將用戶指定的所有額外props和監(jiān)聽器傳遞給我們的內(nèi)部標(biāo)簽/組件。如果你還不知道,則可以通過$attrs訪問額外傳遞的 props,并將它們與v-bind結(jié)合使用以將它們綁定為props。這同樣適用于通過$listeners進(jìn)行的事件,并通過v-on對(duì)其進(jìn)行應(yīng)用。

  1. // FadeTransition.vue 
  2.  
  3. <template> 
  4.   <transition name="fade" v-bind="$attrs" v-on="$listeners"> 
  5.     <slot></slot> 
  6.   </transition> 
  7. </template> 
  8. <script> 
  9. export default {}; 
  10. </script> 
  11. <style> 
  12. .fade-enter-active, 
  13. .fade-leave-active { 
  14.   transition: opacity 0.3s; 
  15. .fade-enter, 
  16. .fade-leave-to { 
  17.   opacity: 0; 
  18. </style> 
  19.  
  20. // App.vue 
  21.  
  22. ... 
  23.  
  24. <fade-transition mode="out-in"> 
  25.   <div key="blue" v-if="show" class="box"></div> 
  26.   <div key="red" v-else class="red-box"></div> 
  27. </fade-transition> 
  28.  
  29. ... 
 
 

「完整事例地址:https://codesandbox.io/s/yjl1wjyoy1?from-embed」

現(xiàn)在,我們可以傳遞普通transition組件可以接受的任何事件和支持,這使得我們的組件更加可重用。但為什么不更進(jìn)一步,增加通過 prop 輕松定制持續(xù)時(shí)間的可能性。

顯式持續(xù)時(shí)間 prop

Vue 為transition組件提供了一個(gè)duration prop,然而,它是為更復(fù)雜的動(dòng)畫鏈接而設(shè)計(jì)的,它幫助 Vue 正確地將它們鏈接在一起。

在我們的案例中,我們真正需要的是通過組件prop控制CSS animation/transition。我們可以通過不在CSS中指定顯式的CSS動(dòng)畫持續(xù)時(shí)間,而是將其作為樣式來實(shí)現(xiàn)。我們可以借助transition hook來做到這一點(diǎn),該transition hook與組件生命周期 hook 非常相似,但是它們?cè)谶^渡所需元素之前和之后被調(diào)用。讓我們看看效果如何。

  1. // FadeTransition.vue 
  2.  
  3. <template> 
  4.   <transition name="fade" 
  5.               enter-active-class="fadeIn" 
  6.               leave-active-class="fadeOut" 
  7.               v-bind="$attrs" 
  8.               v-on="hooks"> 
  9.       <slot></slot> 
  10.   </transition> 
  11. </template> 
  12. <script> 
  13. export default { 
  14.   props: { 
  15.     duration: { 
  16.       type: Number, 
  17.       default: 300 
  18.     } 
  19.   }, 
  20.   computed: { 
  21.     hooks() { 
  22.       return { 
  23.         beforeEnter: this.setDuration, 
  24.         afterEnter: this.cleanUpDuration, 
  25.         beforeLeave: this.setDuration, 
  26.         afterLeave: this.cleanUpDuration, 
  27.         ...this.$listeners 
  28.       }; 
  29.     } 
  30.   }, 
  31.   methods: { 
  32.     setDuration(el) { 
  33.       el.style.animationDuration = `${this.duration}ms`; 
  34.     }, 
  35.     cleanUpDuration(el) { 
  36.       el.style.animationDuration = ""
  37.     } 
  38.   } 
  39. }; 
  40. </script> 
  41. <style> 
  42. @keyframes fadeIn { 
  43.   from { 
  44.     opacity: 0; 
  45.   } 
  46.   to { 
  47.     opacity: 1; 
  48.   } 
  49. .fadeIn { 
  50.   animation-name: fadeIn; 
  51. @keyframes fadeOut { 
  52.   from { 
  53.     opacity: 1; 
  54.   } 
  55.   to { 
  56.     opacity: 0; 
  57.   } 
  58. .fadeOut { 
  59.   animation-name: fadeOut; 
  60. </style> 

 

「完整事例地址:https://codesandbox.io/s/j4qnjvmwz9?from-embed」

現(xiàn)在,我們可以控制實(shí)際的可見過渡時(shí)間,這使我們可重用的過渡變得靈活且易于使用。但是,如何過渡多個(gè)元素(如列表項(xiàng))呢?

Transition group 支持

你想到的最直接的方法可能是創(chuàng)建一個(gè)新組件,比如fade-transition-group,然后將當(dāng)前transition標(biāo)簽替換為transition-group標(biāo)簽,以實(shí)現(xiàn) group transition。如果我們可以在相同的組件中這樣做,并公開一個(gè)將切換到transition-group實(shí)現(xiàn)的group prop,那會(huì)怎么樣呢?幸運(yùn)的是,我們可以通過render函數(shù)或component和is屬性來實(shí)現(xiàn)這一點(diǎn)。

  1. // FadeTransition.vue 
  2.  
  3. <template> 
  4.   <component :is="type" 
  5.              :tag="tag" 
  6.              enter-active-class="fadeIn" 
  7.              leave-active-class="fadeOut" 
  8.              move-class="fade-move" 
  9.              v-bind="$attrs" 
  10.              v-on="hooks"> 
  11.       <slot></slot> 
  12.   </component> 
  13. </template> 
  14. <script> 
  15. export default { 
  16.   props: { 
  17.     duration: { 
  18.       type: Number, 
  19.       default: 300 
  20.     }, 
  21.     group: { 
  22.       type: Boolean, 
  23.       default: false 
  24.     }, 
  25.     tag: { 
  26.       type: String, 
  27.       default: "div" 
  28.     } 
  29.   }, 
  30.   computed: { 
  31.     type() { 
  32.       return this.group ? "transition-group" : "transition"; 
  33.     }, 
  34.     hooks() { 
  35.       return { 
  36.         beforeEnter: this.setDuration, 
  37.         afterEnter: this.cleanUpDuration, 
  38.         beforeLeave: this.setDuration, 
  39.         afterLeave: this.cleanUpDuration, 
  40.         leave: this.setAbsolutePosition, 
  41.         ...this.$listeners 
  42.       }; 
  43.     } 
  44.   }, 
  45.   methods: { 
  46.     setDuration(el) { 
  47.       el.style.animationDuration = `${this.duration}ms`; 
  48.     }, 
  49.     cleanUpDuration(el) { 
  50.       el.style.animationDuration = ""
  51.     }, 
  52.     setAbsolutePosition(el) { 
  53.       if (this.group) { 
  54.         el.style.position = "absolute"
  55.       } 
  56.     } 
  57.   } 
  58. }; 
  59. </script> 
  60. <style> 
  61. @keyframes fadeIn { 
  62.   from { 
  63.     opacity: 0; 
  64.   } 
  65.   to { 
  66.     opacity: 1; 
  67.   } 
  68. .fadeIn { 
  69.   animation-name: fadeIn; 
  70. @keyframes fadeOut { 
  71.   from { 
  72.     opacity: 1; 
  73.   } 
  74.   to { 
  75.     opacity: 0; 
  76.   } 
  77. .fadeOut { 
  78.   animation-name: fadeOut; 
  79. .fade-move { 
  80.   transition: transform 0.3s ease-out; 
  81. </style> 
  82.  
  83. // App.vue 
  84.  
  85. ... 
  86.  
  87. <div class="box-wrapper"> 
  88.   <fade-transition group :duration="300"> 
  89.     <div class="box" 
  90.          v-for="(item, index) in list" 
  91.          @click="remove(index)" 
  92.          :key="item" 
  93.      > 
  94.     </div> 
  95.   </fade-transition> 
  96. </div> 
  97.  
  98. ... 

「完整事例地址:https://codesandbox.io/s/pk9r5j2257?from-embed」

 

[文檔中][6]介紹了一個(gè)帶有transition-group元素的警告。我們基本上必須在元素離開時(shí)將每個(gè)項(xiàng)目的定位設(shè)置為absolute,以實(shí)現(xiàn)其他項(xiàng)目的平滑移動(dòng)動(dòng)畫。我們也必須添加一個(gè)move-class并手動(dòng)指定過渡持續(xù)時(shí)間,因?yàn)闆]有用于移動(dòng)的 JS hook。我們將這些調(diào)整添加到我們的上一個(gè)示例中。

再做一些調(diào)整,通過在mixin中提取 JS 邏輯,我們可以將其應(yīng)用于輕松創(chuàng)建新的transition組件,只需將其放入下一個(gè)項(xiàng)目中即可。

Vue Transition

在此之前描述的所有內(nèi)容基本上都是這個(gè)小型 [transition 集合][7]所包含的內(nèi)容。它有 10 個(gè)封裝的transition組件,每個(gè)約1kb(縮小)。我認(rèn)為它非常方便,可以輕松地在不同的項(xiàng)目中使用。你可以試一試:)

總結(jié)

我們從一個(gè)基本的過渡示例開始,并最終通過可調(diào)整的持續(xù)時(shí)間和transition-group支持來創(chuàng)建可重用的過渡組件。我們可以使用這些技巧根據(jù)并根據(jù)自身的需求創(chuàng)建自己的過渡組件。希望讀者從本文中學(xué)到了一些知識(shí),并且可以幫助你們建立功能更好的過渡組件。

 

 

 

 

 

責(zé)任編輯:趙寧寧 來源: 大遷世界
相關(guān)推薦

2023-10-17 07:23:00

Vue組件代碼

2024-06-13 10:11:33

WPFCommand命令模式

2024-01-03 08:00:00

Java軟件開發(fā)代碼

2011-07-21 13:24:14

java

2023-11-08 13:55:27

2011-04-12 16:01:04

MySQL查詢編寫

2018-11-08 15:50:18

前端Javascript重用性

2010-06-09 09:15:58

JSF 2Ajax組件

2013-04-23 09:14:22

可重用云工具Java安全框架云中間件

2013-04-23 09:24:51

2013-12-04 14:19:40

JavaScript代碼重用

2011-07-12 15:45:29

java

2009-06-23 14:18:00

Java代碼可重用性

2023-06-15 09:02:14

Python模塊和包

2021-06-26 06:29:14

Vue 2Vue 3開發(fā)

2022-07-05 09:27:35

Iframe前端平臺(tái)架構(gòu)

2021-08-28 10:06:29

VueJavascript應(yīng)用

2020-11-02 11:33:52

ReactVue應(yīng)用

2024-06-28 01:13:59

工具C#代碼

2020-10-30 12:44:05

USBLinux
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

日韩特黄一级片| 亚洲少妇一区二区| 69久久精品| 精品在线播放午夜| 久久久噜噜噜久噜久久| 无码一区二区精品| 国产香蕉久久| 亚洲一区二区三区免费视频| 久久精品第九区免费观看| 中文字幕 国产精品| 久久久久久久久丰满| 亚洲国产成人在线播放| 九九热免费精品视频| 2024最新电影在线免费观看| 久久久不卡影院| 91最新在线免费观看| 欧美特黄aaaaaa| 一区二区在线| 夜夜躁日日躁狠狠久久88av| 一级黄色免费毛片| 日本精品裸体写真集在线观看| 一区二区三区精品视频在线| 日本精品一区二区三区不卡无字幕| 99久久国产热无码精品免费| 水蜜桃久久夜色精品一区的特点 | 亚洲成精国产精品女| 日韩视频精品| 色综合久久久久久| 国产麻豆精品视频| 国产精品日韩精品| 中文字幕超碰在线| 欧美色图麻豆| 久久精品国产成人精品| 国产精品国产三级国产专业不 | 日韩电影免费在线看| 久久久久在线观看| 欧美成欧美va| 亚洲啊v在线观看| 永久免费精品影视网站| 精品无码在线视频| 加勒比久久高清| 欧美不卡激情三级在线观看| 久久精品一卡二卡| 欧美日韩免费电影| 精品视频一区 二区 三区| 99re在线视频免费观看| 少妇视频在线观看| 污片在线观看一区二区| 久久综合久久久久| 污影院在线观看| 亚洲欧美另类久久久精品2019| 欧美亚洲精品日韩| 日韩午夜影院| 2欧美一区二区三区在线观看视频| 亚洲综合自拍一区| 国产高潮在线观看| 国产91精品精华液一区二区三区| 2019国产精品视频| 国产18精品乱码免费看| 丁香六月久久综合狠狠色| 不卡视频一区二区| 蜜臀久久99精品久久久| 成人国产精品免费| 久久爱av电影| 国产三级电影在线观看| 欧美国产日韩亚洲一区| 日韩精品伦理第一区| 99免在线观看免费视频高清| 国产一区二区三区三州| 日韩av片网站| 精品久久蜜桃| 免费看黄在线看| 日本色护士高潮视频在线观看 | 日韩欧美视频一区| 韩国一区二区三区四区| 福利片在线一区二区| 日韩av影院在线观看| 久久精品国产亚洲av麻豆| 国产精品三级| 久久人人爽亚洲精品天堂| 91在线播放观看| 亚洲三级影院| 国产精品久久久久久超碰| 中文字幕在线观看第二页| 国产一区二区三区四区五区美女| 成人免费观看网站| 青青草娱乐在线| 中文字幕一区二区三区色视频| 久久青草国产手机看片福利盒子| 欧美丰满少妇xxxxx| 国产一级在线播放| 久久久久久婷| 91蜜桃网站免费观看| 香蕉av在线播放| 国产精品美女久久久久aⅴ | 影音先锋中文字幕一区| 欧美有码在线观看| 91久久精品国产91性色69| 国产69精品久久99不卡| 日本一区二区不卡高清更新| 免费av在线网站| 亚州成人在线电影| 亚洲一区在线不卡| 97视频一区| 亚洲欧美综合精品久久成人| 天天天天天天天天操| 亚洲影院一区| 亚洲自拍av在线| 少妇激情av一区二区| 亚洲视频中文字幕| 久久久久免费精品| 欧美成人基地| 久久视频在线看| 天天爱天天做天天爽| 粉嫩aⅴ一区二区三区四区 | 午夜免费视频在线国产| 久久精品亚洲| 一区二区三区小说| 国产人妻777人伦精品hd| 国产精品天堂蜜av在线播放 | 国产精品视频区| 欧美 日韩 国产 在线| 国产精品久久毛片av大全日韩| www在线观看免费| www欧美在线观看| 国产香蕉97碰碰久久人人| 免费一级特黄特色大片| 精品一二三四区| 神马影院我不卡午夜| 色戒汤唯在线观看| 精品捆绑美女sm三区| 久久高清内射无套| 毛片av一区二区| 日韩av一区二区三区在线观看| 精品人人视频| 精品毛片乱码1区2区3区| 欧美国产日韩在线观看成人| 麻豆精品在线看| 亚洲三区视频| 国产欧美在线观看免费| 中文字幕亚洲一区二区三区五十路 | 91po在线观看91精品国产性色| 午夜精品久久久久久久99| 国产精品二区一区二区aⅴ污介绍| 欧美私人情侣网站| 久久99性xxx老妇胖精品| 91sao在线观看国产| av女名字大全列表| 日韩欧美亚洲成人| 亚洲欧美日本一区| 亚洲综合社区| 日本不卡二区高清三区| 亚洲成人不卡| 一区二区三区动漫| 亚洲天堂avav| 亚洲欧美日韩国产手机在线| 欧美一级免费在线| 欧美人与禽猛交乱配视频| 成人自拍视频网站| 日韩免费视频网站| 乱中年女人伦av一区二区| 久久久亚洲国产天美传媒修理工| 成人福利小视频| 亚洲国产精彩视频| 91社区在线播放| 国产精品亚洲αv天堂无码| 婷婷激情久久| 国产精品免费视频久久久| av网站大全在线观看| 欧美欧美欧美欧美| 天天干中文字幕| 成人免费看的视频| 欧美性大战久久久久xxx| 国产区精品区| 91精品啪在线观看麻豆免费| 欧美黑人猛交| 亚洲无限av看| 国产wwwxxx| 欧美日韩国产一中文字不卡| 国产人妻大战黑人20p| 久久99热这里只有精品| 欧美一级爱爱视频| 宅男在线一区| 成人性生交大片免费观看嘿嘿视频| 1区2区在线观看| 国产视频在线观看一区二区| 亚洲综合五月天婷婷丁香| 一区二区不卡在线播放| 精品久久久久久中文字幕人妻最新| 三级亚洲高清视频| 看全色黄大色大片| 亚洲人成精品久久久 | 中文无码av一区二区三区| 亚洲欧美在线aaa| 久久久久成人精品无码中文字幕| 日本不卡高清视频| 国产91沈先生在线播放| 国产乱码精品一区二区亚洲 | 国产精品15p| 国产精品情侣自拍| av男人的天堂在线观看| 最近2019年手机中文字幕| 好吊色在线观看| 欧美日免费三级在线| 久视频在线观看| 国产精品久久久久久户外露出| 国产人成视频在线观看| 精品亚洲成a人在线观看| 日韩欧美一区二| 中文字幕免费精品| 日韩欧美亚洲精品| 久久婷婷国产| 91精品国产综合久久久久久丝袜 | 日韩毛片无码永久免费看| 国产成人午夜精品影院观看视频| 国产精品拍拍拍| 国产日韩综合| www.xxx麻豆| 亚洲精品一区二区在线看| 欧美一级日本a级v片| 国产成人精品亚洲线观看| 成人欧美一区二区三区黑人| 制服诱惑亚洲| 欧美性资源免费| 国产99re66在线视频| 久久视频在线看| 米奇精品一区二区三区| 一区二区三区久久精品| 欧美高清电影在线| 亚洲精品乱码久久久久久金桔影视| 国产特级aaaaaa大片| 欧美日韩国产综合久久| 波多野结衣黄色| 色噜噜狠狠色综合中国| 久久亚洲天堂网| 午夜电影网一区| 在线免费观看毛片| 亚洲成人www| 日韩毛片在线视频| 亚洲国产综合人成综合网站| 久久久精品国产sm调教| 一区二区三区鲁丝不卡| 亚洲熟女www一区二区三区| 国产精品初高中害羞小美女文| 少妇一级黄色片| 国产精品不卡在线观看| 91无套直看片红桃在线观看| 欧美国产欧美亚州国产日韩mv天天看完整| 国产人妻一区二区| 久久九九国产精品| 国产高清一区二区三区四区| 国产日韩欧美精品电影三级在线| 51调教丨国产调教视频| 26uuu欧美| 丰满少妇高潮一区二区| 国产日产欧美一区二区视频| 国产精品成人在线视频| 中文字幕中文字幕一区二区| 国产喷水在线观看| 亚洲精品成人精品456| 欧洲猛交xxxx乱大交3| 依依成人综合视频| 日韩精品一区二区三| 欧美视频免费在线| 特级西西444www大胆免费看| 欧美精品在线观看播放| www.五月婷| 日韩精品久久久久久福利| 国产高清美女一级毛片久久| 色偷偷88888欧美精品久久久| 黄色片免费在线观看| 欧美黄色性视频| 91av亚洲| 国产中文字幕亚洲| 成人三级毛片| 秋霞在线观看一区二区三区| 久久亚洲影视| 中文字幕最新精品| 中文字幕在线观看的网站| 久久在线免费观看| 一本在线免费视频| 一区二区三区 在线观看视频 | 欧美私人啪啪vps| 国产一区二区在线视频播放| 丝袜脚交一区二区| 下面一进一出好爽视频| 91丝袜高跟美女视频| 手机看片国产日韩| 亚洲午夜免费视频| 伊人久久中文字幕| 日韩午夜在线播放| 久草福利在线视频| 另类图片亚洲另类| 欧美xo影院| 91麻豆蜜桃| 欧美先锋资源| 日韩网站在线免费观看| 免费观看在线色综合| 性活交片大全免费看| 中文字幕巨乱亚洲| 日韩av综合在线| 欧美日韩高清不卡| 天堂中文字幕在线| 欧美精品日韩三级| 秋霞国产精品| 狠狠色综合欧美激情| 99视频精品全国免费| 日韩在线视频在线观看| 国产一区二区三区久久悠悠色av| 免费看污黄网站在线观看| 亚洲精品中文在线影院| 在线视频精品免费| 亚洲国产精品网站| 羞羞视频在线观看免费| 国产精品日韩在线观看| 亚洲春色h网| 免费超爽大片黄| 国产一区二区中文字幕| 精品欧美一区二区久久久| 亚洲一级电影视频| 国产精品久久777777换脸| 亚洲视频日韩精品| 国产传媒在线观看| 97中文在线| 欧美91视频| 欧美一级特黄aaa| 国产精品丝袜久久久久久app| 天堂中文字幕在线观看| 亚洲大胆美女视频| 日韩中文字幕视频网| 亚洲色图日韩av| 啦啦啦中文在线观看日本| 成人黄色免费在线观看| 成人嫩草影院| www.色就是色| 久久久久9999亚洲精品| 午夜婷婷在线观看| 日韩精品一区二区三区第95| av资源中文在线天堂| 动漫美女被爆操久久久| 欧美亚洲不卡| 欧美熟妇精品一区二区| 一区二区三区四区乱视频| 国产白浆在线观看| 久久91亚洲人成电影网站| 国产人与zoxxxx另类91| 国产内射老熟女aaaa| 国产精品一区二区三区乱码| 中文字幕电影av| 欧美日韩精品一区二区三区蜜桃| 91社区在线观看播放| 国产伦精品一区二区三区精品视频| 第一会所亚洲原创| 五月婷婷六月合| 综合中文字幕亚洲| 国产成人三级一区二区在线观看一 | 亚洲va在线va天堂va偷拍| 国产精品久久久久影院色老大| 中文字幕乱码人妻无码久久| 精品国产一区久久久| 99热这里有精品| 一二三四中文字幕| 懂色av中文一区二区三区| 日韩黄色a级片| 亚洲毛片在线观看| 99精品国自产在线| gogogo免费高清日本写真| 国产成人在线免费| 日本一区二区不卡在线| 日韩国产精品一区| 超薄肉色丝袜脚交一区二区| 亚洲欧美日韩在线综合| 国模娜娜一区二区三区| 国产亚洲成人av| 精品无码久久久久久国产| avav成人| 日本aa在线观看| 久久久久久免费网| 国产一区二区在线播放视频| 欧美黑人xxxx| 深夜福利久久| 日本r级电影在线观看| 精品久久久久久久久久久久久| 成在在线免费视频| 91视频网页| 日韩有码一区二区三区| 爱爱视频免费在线观看| 日韩精品高清在线观看| 日韩一区中文| 五十路熟女丰满大屁股| 中文子幕无线码一区tr| 亚洲免费成人网| 国产精品专区第二| 亚洲啪啪91| 五月综合色婷婷| 亚洲人成电影网站色| 亚洲电影一区| jizz大全欧美jizzcom| 午夜精品视频在线观看| 天天影视久久综合|