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

首頁 > 編程 > HTML > 正文

canvas實(shí)現(xiàn)有遞增動(dòng)畫的環(huán)形進(jìn)度條的實(shí)現(xiàn)方法

2024-08-26 00:21:32
字體:
供稿:網(wǎng)友

老規(guī)矩,直接看圖!

效果如下:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

高清大圖!

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

 碼農(nóng)多年,老眼昏花,動(dòng)圖看不清?!那就看靜態(tài)截圖?。?!

不同分值效果如下:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

 看完了賣家秀,我們來看產(chǎn)品的制作過程吧!

canvas繪制圓環(huán)1、vue中,<template lang="pug">里的代碼如下:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

canvas#baseCanvas是底部的灰色圓環(huán)

canvas#myCanvas是上邊的彩色圓環(huán)

需要用css樣式幫助我們把彩色圓環(huán)蓋到灰色圓環(huán)上邊。

2、css樣式:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

 3、js-canvas的樣式繪制代碼

這段代碼也很簡單,看canvas的api即可

3-1、vue組件中,script標(biāo)簽頂部定義需要用的變量

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

3-2、vue的methos對象中,定義方法三個(gè):

drawBaseCanvas:用來繪制底部灰色圓環(huán)。由于灰色圓環(huán)沒有動(dòng)畫效果,所以一開始就繪制一個(gè)完整的灰色圓環(huán)即可。drawClrCanvas:用來繪制上邊的彩色圓環(huán)。clearCanvas:用來清空畫布。這是彩色圓環(huán)動(dòng)畫需要。因?yàn)槲覀儓A環(huán)動(dòng)畫效果的核心就是,每隔一段時(shí)間就把彩色圓環(huán)清空一下,然后把結(jié)束角度值增大、重畫,這樣連續(xù)起來就是動(dòng)畫。

以下是三個(gè)方法的代碼:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

上邊三個(gè)方法里邊的代碼,幾乎都是對canvas API的應(yīng)用,看教程即可。

只有draoClrCanvas方法中,canvas圓形的繪制時(shí),arc的參數(shù)里關(guān)于開始值、結(jié)束值的設(shè)置。

開始值決定了圓環(huán)的起始繪制位置,結(jié)束值決定了結(jié)束的位置(我好像說了一句廢話,但是冥思苦想后的思想描述文字,不想刪掉哈哈哈)

這個(gè)結(jié)束值的計(jì)算,對于我來說還是比較麻煩的。

count變量為什么要這么計(jì)算,我也忘了我是怎么鼓搗出來的了。

this.grade是100以內(nèi)的正整數(shù),表示分值。被定義在data中,默認(rèn)是0分。

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

所以一開始彩色圓環(huán)就看不見,因?yàn)槠鹗键c(diǎn)和結(jié)束點(diǎn)都是0點(diǎn)。

如果更改grade的值,從0-100,canvas彩色圓環(huán)的值也就會(huì)更改。

這樣,只要我們逐漸修改grade的值,重新繪制,彩色圓環(huán)就會(huì)逐漸遞增,實(shí)現(xiàn)動(dòng)畫效果。

圓環(huán)動(dòng)畫效果

由于我這里需求特殊,需要用戶每次翻到canvas所在swiper時(shí),才會(huì)觸發(fā)動(dòng)畫(后來更麻煩一點(diǎn)需要柱狀圖和canvas部分有個(gè)入場效果后,動(dòng)畫才開始。效果就是上圖中最長的那張gif動(dòng)畫那樣)。

所以我得借助swiper才能實(shí)現(xiàn)。在swiper切換的回調(diào)函數(shù)中,從0開始不停遞增grade分?jǐn)?shù),并重新觸發(fā)彩色圓環(huán)的繪制,進(jìn)而實(shí)現(xiàn)動(dòng)畫效果。

vue中我用的swiper是'vue-awesome-swiper'。她的用法我在其他文章中寫過步驟。

swiper在vue-data中的配置里,有一個(gè)on對象。在on對象中的slideChange函數(shù),就是每次翻頁swiper時(shí)會(huì)觸發(fā)的回調(diào)函數(shù)。

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

這里我說一下幾個(gè)比較特殊的點(diǎn):

(1)vm:是我早就在vue的script中存儲(chǔ)的變量,初始化為null,然后在mounted中,將其賦值為vue實(shí)例對象。

初始化數(shù)據(jù)、繪制灰色圓環(huán)

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

通過這種方法,我在vue實(shí)例對象 - data - swiper - 回調(diào)函數(shù)中去拿vue實(shí)例對象 - data中的grade和gradeTarget屬性值,并對其進(jìn)行修改。

ps:我也不知道這么做是不是很傻的一種做法,當(dāng)時(shí)做到這里時(shí)是我遇到的一個(gè)難題,不知道怎么在swiper的on回調(diào)中獲取vue實(shí)例。于是就有了這么曲線救國的方法。如果看官有更好的解決方案,希望可以給我提供一個(gè)新的思路,感激不盡哦親

(2)(this.activeIndex == 2 && vm.isStar) || (this.activeIndex == 1 && !vm.isStar)

這里是因?yàn)闃I(yè)務(wù),才這么判斷,可以忽略。

this在swiperChange函數(shù)中指向swiper對象。this.activeIndex是swiper實(shí)例的屬性,用官方的話說“返回當(dāng)前活動(dòng)塊(激活塊)的索引。”可以理解他指的是當(dāng)前翻到的是哪一頁,就是當(dāng)前你所看的swiper-slide的下標(biāo)。

我因?yàn)橛脩舻纳矸?,?huì)判斷性的決定當(dāng)前canvas所在swiper前一頁是否展示。 如果不展示就根本不會(huì)繪制前一頁,那么相應(yīng)的當(dāng)前頁的swiper的下標(biāo)就會(huì)變成(index-1)。

總而言之,當(dāng)滿足條件、用戶翻到canvas所在swiper頁面后,我就要觸發(fā)if里邊的圓環(huán)繪制邏輯。否則就走到else里初始化數(shù)據(jù)頁面的狀態(tài)、清除定時(shí)器暫停動(dòng)畫、并把彩色圓環(huán)清空

(3)vm.aniShow

在我上篇《純css繪制柱狀圖》里邊說了,柱狀圖的動(dòng)畫要跟canvas的動(dòng)畫一起說。因?yàn)樗麄兊膭?dòng)畫實(shí)現(xiàn)需要配合swiper的切換。說的就是這里的代碼:

vue - data - aniShow屬性變?yōu)閠rue時(shí),div.row就會(huì)添加ani這個(gè)class類名:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

同樣,aniShow為true,progress的高度就會(huì)附上自己的目標(biāo)值,也就是這個(gè)progress的實(shí)際高度經(jīng)過百分制轉(zhuǎn)化后被賦予給了style屬性的height。

此時(shí),因?yàn)閜rogress的transition監(jiān)聽了height變化,就開始有了高度漸增的柱狀圖遞增動(dòng)畫了。

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

而ani類名下,progress的transition-delay實(shí)現(xiàn)了其高度錯(cuò)開遞增效果。

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

可能只看文字描述很晦澀,再看一眼效果:

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

 (4)彩色圓環(huán)繪制代碼部分

canvas,遞增動(dòng)畫,環(huán)形進(jìn)度條

gradeTarget是實(shí)際分值,是最終要繪制到的結(jié)果。

grade從0開始,自增到gradeTarget的大小。

這里我沒有直接++vm.grade,我也不知道自己當(dāng)時(shí)咋想的。

if判斷,如果grade遞增到了目標(biāo)值gradeTarget或者大于目標(biāo)值,就停止遞增,并讓grade=gradeTarget。屬于臨界值的判斷。在運(yùn)動(dòng)功能中,又算碰撞檢測。

反之,不到目標(biāo)的話,就清除上一次繪制的canvas畫布,在grade遞增變化后重新繪制新的彩色圓環(huán)。

(5)所有這些放到setTimeout中,暫停500毫秒再執(zhí)行,是為了等柱圖和環(huán)圖入場后,在開始繪制圓環(huán)的遞增效果。

其實(shí)上邊代碼都是很簡單的邏輯處理,看官們讀一遍代碼應(yīng)該就差不離了。

新想法:

這個(gè)效果是我很久以前做的,今天在整理制作方法的時(shí)候,我想到自己代碼的一種優(yōu)化方案:

其實(shí)沒必要在定時(shí)器里重新調(diào)用彩色圓環(huán)繪制方法。我們直接改的是this.grade屬性,監(jiān)聽這個(gè)屬性的改變就好了其實(shí)。這樣此屬性在定時(shí)器中被修改,圓環(huán)方法就會(huì)自動(dòng)執(zhí)行。

這還是一個(gè)想法,還需要我的實(shí)踐。

中間文字的遞增效果:

因?yàn)間rade是每次遞增的分?jǐn)?shù),所以利用vue的雙向數(shù)據(jù)綁定,直接把grade當(dāng)作分?jǐn)?shù)值綁定到對應(yīng)dom視圖處即可。

最后,圓環(huán)和上邊柱狀圖的動(dòng)畫結(jié)合,就是animation控制一下動(dòng)畫延遲即可。很簡單的。

index.vue源碼:

(注,源碼稍作整理,單獨(dú)提取。為了完整性也為了保護(hù)其他業(yè)務(wù)代碼,部分變量名做了修改,可能會(huì)和之前截圖中略微不同)

<template lang='pug'>  .indexs#Indexs.app-bg    transition(name="fade")      swiper#swiperBox(:options="swiperOption" ref="mySwiper")        swiper-slide.swiper-slide1          .container          .up        swiper-slide.swiper-slide2(v-if="isShow")          .my-shark          .up        swiper-slide.swiper-slide3          .container            .data-cont              .data.data01                .data01-charts                  .row(v-for='item,index in Data' :key="index" :class='aniShow ? "ani":""')                    .data-txt {{item.grade > 0 ? item.grade : '無數(shù)據(jù)'}}                    .progress(:class='item.grade == 0 ? "nodata" : ""' :style="'height: ' + (aniShow ? (item.grade >= 100 ? (100 * 1.5) / 100 : item.grade == 0 ? 0.04 : item.grade * 1.5 / 100) : 0) +'rem'")                      span.pg-data                    .week {{item.week}}              .data.data02                .data02-charts                  .canvas-box                    //- baseCanvas                    canvas#baseCanvas.my-canvas(ref="baseCanvas" width="174" height="174")                    //- canvas                    canvas#myCanvas.my-canvas.clr-canvas(ref="myCanvas" width="174" height="174")                    .canvas-data #[span.num {{grade}}]分                  </template><script>var vm = null,  timer1 = null,  /* canvas基礎(chǔ)值 */  c = null, //document.getElementById("myCanvas");  ctx = null, //canvas-2d畫布  x = 161 / 2 + 1, //圓心坐標(biāo)  r = (161 - 10) / 2; //半徑大小/* swiper組件 */import { swiper, swiperSlide } from "vue-awesome-swiper";import { getData } from "../io/getData";export default {  name: "Indexs",  components: {    swiper,    swiperSlide  },  data() {    return {      grade: 0, //圓環(huán)圖分?jǐn)?shù)      gradeTarget: 78.54, //實(shí)際得分?jǐn)?shù),可ajax請求數(shù)據(jù)后修改      isShow: true,//是否展示第二頁swiper      aniShow: false,//是否開啟柱圖動(dòng)畫      Data:[{          week: "第一周",          grade: 0        },        {          week: "第二周",          grade: 30        },        {          week: "第三周",          grade: 99.99        },        {          week: "第四周",          grade: 76.98        },        {          week: "第五周",          grade: 100        }],            swiperOption: {        //swiper參數(shù)        notNextTick: true,        direction: "vertical",        grabCursor: true,        setWrapperSize: true,        autoHeight: true,        slidesPerView: 1,        mousewheel: false,        mousewheelControl: false,        height: window.innerHeight, // 高度設(shè)置,占滿設(shè)備高度        resistanceRatio: 0,        observeParents: true,        initialSlide: 2 - 1, //設(shè)置初始化時(shí),swiper的默認(rèn)展示頁面,從零開始        on: {          slideChange() {            if (              (this.activeIndex == 2 && vm.isShow) ||              (this.activeIndex == 1 && !vm.isShow)            ) {              console.log(this.activeIndex, vm.isShow, "繪制動(dòng)畫");              setTimeout(function() {                // 配合展示柱狀圖動(dòng)畫                vm.aniShow = true;                // 定時(shí)器不斷觸發(fā)繪制彩色圓環(huán),實(shí)現(xiàn)圓環(huán)動(dòng)畫效果                timer1 = setInterval(function() {                  // 中間分?jǐn)?shù)文案更改                  var num = vm.grade;                  num++;                  if (num >= vm.gradeTarget) {                    vm.grade = vm.gradeTarget;                    clearInterval(timer1);                  } else {                    vm.grade = num;                  }                  vm.clearCanvas();                  vm.drawClrCanvas();                }, 1000 / 60);              }, 500);            } else {              // 翻頁后,初始化數(shù)據(jù)頁面的狀態(tài)、清除定時(shí)器暫停動(dòng)畫、并把彩色圓環(huán)清空              console.log("其他頁");              clearInterval(timer1);              vm.grade = 0;              vm.aniShow = false;              vm.clearCanvas();            }          }        }      }    };  },  computed: {},  mounted() {    // 初始化數(shù)據(jù)、繪制灰色圓環(huán)    vm = this;    c = this.$refs.myCanvas;    ctx = c.getContext("2d");    this.drawBaseCanvas();  },  methods: {    drawBaseCanvas() {      // canvas繪制      /* 基礎(chǔ)值 */      var c = this.$refs.baseCanvas, //document.getElementById("myCanvas");        // debugger;        ctx = c.getContext("2d"),        o = x,        randius = r;      /* 默認(rèn)灰色圓圈 */      ctx.strokeStyle = "#eee";      ctx.lineWidth = 10;      ctx.beginPath();      ctx.arc(o, o, randius, 0, 2 * Math.PI);      ctx.stroke();    },    clearCanvas() {      // 清除畫布      ctx.clearRect(0, 0, 200, 200);    },    drawClrCanvas() {      var gradient = ctx.createLinearGradient(75, 50, 5, 90);      gradient.addColorStop("0", "#C88EFF");      gradient.addColorStop("1.0", "#7E5CFF");      ctx.strokeStyle = gradient; // 用漸變進(jìn)行填充      ctx.lineWidth = 10;      ctx.lineCap = "round";      ctx.shadowColor = "rgba(191,142,255, 0.36)";      ctx.shadowBlur = 8;      ctx.shadowOffsetY = 8;      ctx.beginPath();      var count = this.grade / (100 / 2) + 1;      ctx.arc(x, x, r, Math.PI, Math.PI * count, false);      ctx.stroke();    }  }};</script><style lang='scss'>// 柱圖.row {  position: relative;  z-index: 1;  width: 0.61rem;  margin-bottom: -0.28 - 0.08 - 0.38rem;  text-align: center;}.data-txt {  font-size: 0.2rem;  line-height: 0.2rem;  margin-bottom: 0.09rem;}.progress {  height: 0rem;  transition: height 0.5s ease-in-out;}.ani {  @for $i from 1 to 6 {    &:nth-of-type(#{$i}) {      .progress {        transition-delay: #{$i * 0.15}s;      }    }  }  // &:nth-of-type(1) {  //   .progress {  //     transition-delay: .4s;  //   }  // }  // &:nth-of-type(2) {  //   .progress {  //     transition-delay: .8s;  //   }  // }  // &:nth-of-type(3) {  //   .progress {  //     transition-delay: 1s;  //   }  // }  // &:nth-of-type(4) {  //   .progress {  //     transition-delay: 1.4s;  //   }  // }  // &:nth-of-type(5) {  //   .progress {  //     transition-delay: 1.8s;  //   }  // }}.pg-data {  display: block;  width: 0.12rem;  height: 100%;  margin: 0 auto;  background: linear-gradient(0deg, #c88eff 0%, #7e5cff 100%);  box-shadow: 0 -0.04rem 0.14rem 0 rgba(129, 93, 255, 0.4);  border-radius: 0.05rem 0.05rem 0 0;}// 0分展示規(guī)則.nodata {  .pg-data {    border-radius: 0;    background: #e7e7e7;    box-shadow: none;  }}.week {  font-size: 0.2rem;  line-height: 0.2rem;  margin-top: 0.08rem;  color: #666;}// 環(huán)圖 - data02數(shù)據(jù)部分.data02-charts {  margin-top: 0.32rem;  height: 1.61rem;}.canvas-box {  position: relative;  float: left;  width: 1.61rem;  height: 1.61rem;  margin-left: 0.92rem;}.my-canvas {  width: 1.61rem;  height: 1.61rem;}.clr-canvas {  position: absolute;  top: 0;  left: 0;}.canvas-data {  position: absolute;  top: 0.56rem;  left: 0;  right: 0;  margin: auto;  margin-left: -0.1rem;  text-align: center;  font-size: 0.24rem;  .num {    font-size: 0.32rem;    font-weight: 600;  }}</style>

 以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持VeVb武林網(wǎng)。


注:相關(guān)教程知識閱讀請移步到HTML教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
暖暖视频在线免费观看| 亚洲国产精品美女| 国产成人鲁鲁免费视频a| 成人网18免费网站在线| 日韩精品一区二区三区中文精品| 四虎www视频| 天天色 色综合| 污视频在线免费| 久久久噜久噜久久综合| 欧美黑人xx片| 国产精品三区在线| 被男同事摸的水好多| 两性午夜免费视频| 日本国产在线| 欧美少妇激情| 人妻夜夜添夜夜无码av| 91在线观看免费高清| 欧美精品一区二区三区很污很色的| 成人黄色av网| 欧美色资源站| 亚洲精品视频免费| 日本一道高清一区二区三区| 亚洲一区二区伦理| 性生交大片免费看女人按摩| 欧洲亚洲精品久久久久| 日本一区二区成人在线| 久久激情婷婷| 免费免费啪视频在线观看| 国产网站在线看| 一区二区精品免费| 国产亚洲精品熟女国产成人| 午夜欧美大尺度福利影院在线看| 男人天堂网在线视频| 91猫先生在线| 蜜桃视频在线观看www社区| aaaaaa毛片| 麻豆视频在线播放| 美女被久久久| 91麻豆swag| 久久婷婷国产综合国色天香| 亚洲欧美丝袜中文综合| 亚洲国内在线| 雨宫琴音一区二区三区| 中文字幕区一区二区三| 欧美性suv| 最新91在线| 久久中文字幕av一区二区不卡| 日本在线观看免费视频| 欧美一区日本一区韩国一区| 68国产成人综合久久精品| 免费一级在线观看| 亚洲黄色中文字幕| 无码人妻丰满熟妇区五十路百度| 色嗨嗨av一区二区三区| 中文亚洲免费| 精品国产一区二区三区久久久久久| 国产精品男人爽免费视频1| 懂色av一区二区三区免费观看| 午夜影院在线观看国产主播| 99精品视频网| 日韩网站在线播放| 色综合网色综合| 黄色高清视频网站| 九九热免费精品视频| 中文字幕一区综合| 91精品视频免费在线观看| 美国av一区二区三区| 亚洲狠狠丁香婷婷综合久久久| 色综合视频一区二区三区高清| 999国产在线视频| 麻豆专区一区二区三区四区五区| 亚洲国产精品尤物yw在线观看| 亚洲国产成人私人影院tom| 国产精品日韩欧美综合| 中文字幕制服丝袜在线| 欧美日韩激情美女| 蜜臀在线免费观看| 最新精品视频在线| 国产免费一区二区| 精品久久人人做人人爱| 久久99蜜桃综合影院免费观看| 国自产拍在线网站网址视频| 国产精品99久久久| 国产一区视频导航| 在线观看国产一级片| 久久久久久久久99精品大| 亚洲1卡2卡3卡4卡乱码精品| 日本少妇xxxx| 国产精品亚洲一区二区三区妖精| 欧美一区二区三区成人片在线| 午夜日韩福利| 九九精品视频在线观看九九| 国产韩国精品一区二区三区| 亚洲爆乳无码一区二区三区| 在线免费av导航| 蜜乳av中文字幕| 国产探花视频在线播放| 亚洲动漫第一页| 日韩高清成人| 黄色一级大片在线观看| 91精品在线播放| free欧美| 91成人国产综合久久精品| 国产日产亚洲精品系列| 国产福利电影在线| 2019一级黄色毛片免费看网| 国内免费精品永久在线视频| 老汉av免费一区二区三区| 成人一区福利| 丰满人妻一区二区三区53视频| 国产精品久久久久久久久久久不卡| 中文字幕导航| 久久精品99北条麻妃| 国产亚洲精品综合一区91| 一级片视频播放| 国产日韩欧美| av成人在线电影| 欧美性受xxxx黑人xxxx| 久久精品国产亚洲blacked| 日韩大胆成人| 久久久亚洲一区| 国内精久久久久久久久久人| 香港一级纯黄大片| 久久久精品国产一区二区| 蜜桃视频在线观看播放| 午夜激情电影在线播放| 一区二区三区在线免费观看视频| 国际av在线| 欧美日韩国产综合在线| 97国产一区二区精品久久呦| 春意影院午夜免费入口| 久久一级黄色片| av网站在线免费看推荐| 亚洲人成网站777色婷婷| 欧美三区在线视频| 中文字幕免费高清在线观看| 欧美孕妇孕交| 国产视频1区2区3区| 精品久久对白| 黄色免费av| 国内揄拍国内精品| 好想男人揉我下面好多水| 欧美有码视频| av激情综合网| 久久国产一区二区三区| 欧美不卡在线观看| 久久综合第一页| 精品88久久久久88久久久| gogo亚洲高清大胆美女人体| 亚洲无吗一区二区三区| 特黄特色特刺激视频免费播放| 丰满人妻一区二区三区53视频| 亚洲福利视频网站| 国产精品资源在线看| 久久久精品中文字幕麻豆发布| 日日躁夜夜躁白天躁晚上躁91| 久久人人超碰精品| 中文字幕一区二区三区日韩精品| 国产福利久久精品| 国产91露脸合集magnet| 538精品在线视频| 男女污污视频网站| 欧美日韩精品高清| 国产精品无圣光一区二区| 久久国产劲爆∧v内射| 涩涩视频在线观看下载| 国产精品乱战久久久| 午夜精品在线观看| 日本中文字幕在线观看视频| 黄色aaa大片| 日韩小视频在线| 久久国产精品国语对白| 亚洲一卡二卡三卡四卡| 老牛影视av老牛影视av| 9999热视频在线观看| 99精品免费| 91麻豆制片厂| 亚洲草草视频| 日本韩国欧美一区二区三区| 亚洲免费福利| 亚洲日韩中文字幕在线播放| 国产精品毛片一区视频播| 亚洲精品中文字幕在线播放| 男人添女人下部高潮视频在观看| 中文字幕在线播放一区二区| 欧美一级片中文字幕| 欧美黄色免费在线观看| 国产伦精品一区二区三区视频小说| 天堂网在线中文| 91免费在线| 91手机在线观看| 免费黄色片网站| 3atv一区二区三区| 日韩中文字幕不卡| 91丨porny丨中文| 欧美日韩国产中文| the porn av| 99热这里只有精品4| 日韩av中字| 欧美性受xxxx黑人xyx| 啪一啪鲁一鲁2019在线视频| 亚洲午夜精品一区二区三区| 91免费视频网站| 国产又猛又黄的视频| 黄色正能量网站| 欧美被日视频| 狠狠色伊人亚洲综合成人| 日韩成人a**站| 激情五月综合色婷婷一区二区| 国产视频aaa| 香蕉视频在线网站| 午夜视频在线观看精品中文| 91香蕉网站| 久久夜色撩人精品| 一区二区中文字幕在线观看| 久久这里只有精品99| 狠狠色狠狠色综合日日五| 国产精品一区二区三区在线播放| 香蕉影视欧美成人| 国产精品白丝jk白祙喷水网站| 97精品免费视频| 一二三四区在线观看| www.欧美视频| 欧美黑人狂野猛交老妇| 交videos老少配com| 男人天堂999| 伊人久久大香线蕉av一区二区| 91高清免费看| 丝袜连裤袜欧美激情日韩| 国产91成人在在线播放| 清纯唯美日韩| 国产女王在线**视频| 肉丝美足丝袜一区二区三区四| 成人国产精品一区| 日韩精品手机在线| 精品国产一区探花在线观看| 亚洲综合小说网| 在线免费观看羞羞视频一区二区| 在线观看91av| 亚洲黄色尤物视频| 精品久久久久久久久久国产| 萌白酱国产一区二区| 北条麻妃一区二区三区| 一区二区三区小视频| 成人免费在线小视频| 91po在线观看91精品国产性色| 在线观看你懂的网站| 成人综合久久网| 亚洲国产精品悠悠久久琪琪| 奇米成人av国产一区二区三区| 欧美精品 - 色网| 极品裸体白嫩激情啪啪国产精品| 神马影院一区二区三区| 日本污视频在线观看| 91福利电影| 亚洲人成人99网站| 亚洲精品国产成人影院| xx欧美视频| 手机免费av片| 色哟哟精品一区| 亚洲精品少妇| www.555国产精品免费| 男人的天堂一区| 久久国产一区二区三区| 日本aⅴ免费视频一区二区三区| 在线毛片网站| 成年网站免费入口在线观看| 成人黄色一级大片| 亚洲精品视频免费在线观看| 精品伦一区二区三区| 精品国产99国产精品| 欧美午夜精品电影| 久久中国妇女中文字幕| 黄色小视频免费| 超清福利视频| 日韩在线中文字幕| 欧美黄色大片在线观看| 成人av动漫在线| 1区1区3区4区产品乱码芒果精品| 99国产精品一区| 国产精品www爽爽爽| 蜜桃视频第一区免费观看| 国产99久久九九精品无码免费| 国产chinese中国hdxxxx| 亚洲一卡二卡三卡四卡| 成人午夜视频在线播放| 在线看小视频| 亚洲精品ww久久久久久p站| 天天干,天天干| 全部孕妇毛片丰满孕妇孕交| 久久久无码人妻精品无码| 亚洲成人短视频| 欧美黄网免费在线观看| 99re只有精品| 欧美日韩精品一区二区三区蜜桃| 丰满女人性猛交| 日韩精品电影一区二区三区| 国产精品国产自产拍高清av王其| 亚洲欧美三级在线| 日韩久久久久久久| 开心色怡人综合网站| 日本77777| 亚洲色图网址| 久久久久久久久久久久久国产精品| 亚洲三级性片| 三上悠亚影音先锋| 久久性天堂网| 深田咏美中文字幕| 免费观看成人高| 欧美第一页在线| 蜜臀久久久99精品久久久久久| 5g影院5g电影天天爽快| 日韩精品视频免费看| 免费三级欧美电影| 欧美永久精品| 欧美另类交视频| 国产精品天天看| 久久久久亚洲精品中文字幕| 国产精品videosex极品| 美女免费黄色| 免费成人在线电影| av一区和二区| 在线视频免费一区二区| 欧美亚洲在线日韩| 成人午夜剧场视频网站| 法国伦理少妇愉情| 欧美日韩在线观看免费| 国产精品视频无码|