最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

微信小程序仿抖音視頻之整屏上下切換功能的實(shí)現(xiàn)代碼

 更新時(shí)間:2020年05月24日 14:17:13   作者:酒中仙77  
這篇文章主要介紹了微信小程序仿抖音視頻之整屏上下切換功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

效果演示:

WXML:

<view class="video_box">
 <view bindtouchend="touchEnd" id="myVideo{{index}}" animation="{{animation}}" bindtouchstart="touchStart" bindtouchmove="touchMove" class="video_list" wx:for="{{video_list}}" data-index="{{index}}" wx:key="index" >
  <text style="color:red;font-size:30px;display:block;">{{index}}</text>
  <video custom-cache="{{false}}" src="{{item.video_src}}" vslide-gesture-in-fullscreen="{{false}}" direction = '{{0}}' enable-progress-gesture="{{false}}" show-fullscreen-btn="{{false}}" object-fit="cover"></video>
 </view>
</view>

WXSS:

.video_box{width: 100%;height: auto;position: fixed;top:0;bottom: 0;background-color: #000;}
.video_list{width: 100%;height: 100vh;position: relative;}
.video_list video{position: absolute;top:50%;margin-top:-30vw; width: 100%;height:56vw;padding: 0;}
Page({
 /**
  * 頁面的初始數(shù)據(jù)
  */
 data: {
  video_list:[
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218093206z8V1JuPlpe.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/article/202002/17/c292033ef110de9f42d7d539fe0423cf.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218025702PSiVKDB5ap.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/article/202002/18/2fca1c77730e54c7b500573c2437003f.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218093206z8V1JuPlpe.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218114723HDu3hhxqIT.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218025702PSiVKDB5ap.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/article/202002/17/c292033ef110de9f42d7d539fe0423cf.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218093206z8V1JuPlpe.mp4'},
   {video_src:'https://stream7.iqilu.com/10339/upload_transcode/202002/18/20200218114723HDu3hhxqIT.mp4'},
  ],
  pageY:'',    // 觸摸起始高度坐標(biāo)
  animation:'',  // 視頻劃動(dòng)動(dòng)畫
  up_stroke:false,// ture:上劃;false:下劃
  difference:'', // 拖動(dòng)的距離
  windowHeight:'',// 屏幕高度
 },
 /**
  * 生命周期函數(shù)--監(jiān)聽頁面加載
  */
 onLoad: function (options) {
  // 賦值:屏幕高度、
  this.setData({
   windowHeight:wx.getSystemInfoSync().windowHeight
  })
 },
 // 劃動(dòng)起始坐標(biāo)方法
 touchStart(e){
  // 開始坐標(biāo)
  this.setData({
   pageY:e.touches[0].pageY,
  })
 },
 // 劃動(dòng)過程坐標(biāo)方法
 touchMove(e){
  let n = e.currentTarget.dataset.index;   // 觸摸的第幾個(gè)序號(hào)
  let difference = e.touches[0].pageY - this.data.pageY; // 移動(dòng)后和起始值的差值
  if(this.is_continue(n,difference)){    // 判斷是否到底
   return;
  } 
  // 劃動(dòng)動(dòng)畫 -------------------------------------
  var animation = wx.createAnimation({    // 移動(dòng)動(dòng)效
   duration: 0,
  });
  animation.top(difference - (n*this.data.windowHeight)).step()
  this.setData({
   animation: animation.export(),     // 動(dòng)畫
   up_stroke:difference > 0 ? false : true, // 是否上劃,
   difference:difference,          // 拖動(dòng)的距離
  })
 },
 // 劃動(dòng)結(jié)束坐標(biāo)方法
 touchEnd(e){
  let n = e.currentTarget.dataset.index;
  let difference = this.data.difference; // 拖動(dòng)的距離
  if(this.is_continue(n,difference)){
   return;
  }
  const windowHeight = this.data.windowHeight;   // 屏幕高度
  let that = this;
  // 根據(jù)id獲取點(diǎn)擊元素距頂部高度
  var query = wx.createSelectorQuery();
  let id = '#' + e.currentTarget.id;
  query.select(id).boundingClientRect(function (rect) { // 獲取高度
   if(Math.abs(difference) <= windowHeight /7){   // 小于1/7回原位置 ---------------------------
    var animation = wx.createAnimation({ // 移動(dòng)動(dòng)效
     duration: 100,
    });
    animation.top(-(n * windowHeight)).step()
    that.setData({
     animation: animation.export(),
     up_stroke:false, // 重置劃動(dòng)狀態(tài)
     difference:0,   // 重置劃動(dòng)距離
    })
   }else{ // 大于1/4,移至拖動(dòng)的下一個(gè)視頻 --------------------------------
    var animation = wx.createAnimation({ // 移動(dòng)動(dòng)效
     duration: 200,
    });
    that.data.up_stroke ? n++ : n--;   // 上劃:n+1 下劃:n-1
    animation.top(-(n * windowHeight)).step()
    that.setData({
     animation: animation.export(),
     up_stroke:false, // 重置劃動(dòng)狀態(tài)
     difference:0,   // 重置劃動(dòng)距離
    })
   }
  }).exec();
 },
 // 判斷是否到底
 is_continue(n,difference){
  if(difference < 0){ // 上劃
   if(n == this.data.video_list.length - 1){ // 最后一個(gè)視頻,提示到底
    if(difference < -20){
     wx.showToast({
      title: '已經(jīng)到底了~~',
      icon:'none',
      duration:1000
     })
    }
    return true;
   }
  }else{
   if(n == 0){
    if(difference > 20){
     wx.showToast({
      title: '上面沒有了~~',
      icon:'none',
      duration:1000
     })
    }
    return true;
   }
  }
 },
})

總結(jié)

到此這篇關(guān)于微信小程序仿抖音視頻之整屏上下切換功能的實(shí)現(xiàn)代碼的文章就介紹到這了,更多相關(guān)微信小程序抖音視頻整屏切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • JS switch判斷 三目運(yùn)算 while 及 屬性操作代碼

    JS switch判斷 三目運(yùn)算 while 及 屬性操作代碼

    這篇文章主要介紹了JS switch判斷 三目運(yùn)算 while 及 屬性操作代碼,需要的朋友可以參考下
    2017-09-09
  • JS中==、===你分清楚了嗎

    JS中==、===你分清楚了嗎

    這篇文章主要介紹了JS中==、===你分清楚了嗎,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-03-03
  • JavaScript實(shí)現(xiàn)自己的DOM選擇器原理及代碼

    JavaScript實(shí)現(xiàn)自己的DOM選擇器原理及代碼

    實(shí)現(xiàn)自己的DOM選擇器時(shí)匹配行為也應(yīng)該和瀏覽原生匹配行為一致,接下來本文將詳細(xì)介紹下實(shí)現(xiàn)思路及方法,感興趣的你可以參考下或許對(duì)你鞏固知識(shí)有所幫助
    2013-03-03
  • HTML5 Shiv完美解決IE(IE6/IE7/IE8)不兼容HTML5標(biāo)簽的方法

    HTML5 Shiv完美解決IE(IE6/IE7/IE8)不兼容HTML5標(biāo)簽的方法

    這篇文章主要介紹了HTML5 Shiv完美解決IE(IE6/IE7/IE8)不兼容HTML5標(biāo)簽的方法,需要的朋友可以參考下
    2015-11-11
  • 淺談layui里的上傳控件問題

    淺談layui里的上傳控件問題

    今天小編就為大家分享一篇淺談layui里的上傳控件問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-09-09
  • 摘自啟點(diǎn)的main.js

    摘自啟點(diǎn)的main.js

    來自啟點(diǎn)的js,主要包括字符串的trim,cookies設(shè)置等
    2008-04-04
  • javascript解析json格式的數(shù)據(jù)方法詳解

    javascript解析json格式的數(shù)據(jù)方法詳解

    這篇文章主要介紹了javascript解析json格式的數(shù)據(jù)方法詳解,文章通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • JavaScript 數(shù)組遍歷的五種方法

    JavaScript 數(shù)組遍歷的五種方法

    這篇文章主要介紹了JavaScript 數(shù)組遍歷的五種方法,幫助大家更好的理解和學(xué)習(xí)使用JavaScript,感興趣的朋友可以了解下
    2021-03-03
  • JavaScript實(shí)現(xiàn)多重繼承的方法分析

    JavaScript實(shí)現(xiàn)多重繼承的方法分析

    這篇文章主要介紹了JavaScript實(shí)現(xiàn)多重繼承的方法,結(jié)合實(shí)例形式詳細(xì)分析了javascript實(shí)現(xiàn)多重繼承的具體步驟與相關(guān)操作技巧,需要的朋友可以參考下
    2018-01-01
  • JavaScript原型對(duì)象、構(gòu)造函數(shù)和實(shí)例對(duì)象功能與用法詳解

    JavaScript原型對(duì)象、構(gòu)造函數(shù)和實(shí)例對(duì)象功能與用法詳解

    這篇文章主要介紹了JavaScript原型對(duì)象、構(gòu)造函數(shù)和實(shí)例對(duì)象功能與用法,結(jié)合實(shí)例形式分析了javascript面向?qū)ο笙嚓P(guān)原型對(duì)象、構(gòu)造函數(shù)及實(shí)例對(duì)象的概念、功能與相關(guān)使用技巧,需要的朋友可以參考下
    2018-08-08

最新評(píng)論

永丰县| 翁牛特旗| 金沙县| 儋州市| 开平市| 尚志市| 富锦市| 永胜县| 临城县| 南乐县| 博罗县| 邓州市| 竹山县| 丰原市| 伊川县| 峨眉山市| 衡水市| 怀宁县| 铜鼓县| 南江县| 汨罗市| 威远县| 建湖县| 永城市| 宿州市| 巴东县| 长春市| 泰宁县| 漯河市| 乡宁县| 黄大仙区| 宁武县| 宜川县| 潼关县| 靖安县| 深圳市| 杂多县| 庆城县| 杂多县| 沅陵县| 教育|