微信小程序仿抖音短视频切换效果的实例代码


Posted in Javascript onJune 24, 2020

一直以为抖音短视频切换假如用小程序做的话应该是比较简单的,直接用swiper实现就好,但在实际写的过程中才发现没那么简单,要控制的逻辑还是挺多的。

还是先看效果

微信小程序仿抖音短视频切换效果的实例代码

体验路径

自定义组件系列》》仿抖音短视频切换

微信小程序仿抖音短视频切换效果的实例代码

代码逻辑

直接调用自定义的swiper组件就好
调用代码
js

const videoList = []
Page({
 data: {
  videoList,
  activeId:2,
  isPlaying:true
 },
 onLoad() {
  var that = this
  wx.getSystemInfo({
   success: function(res) {
    that.setData({
     systemInfo:res,
     menuButtonBoundingClientRect: wx.getMenuButtonBoundingClientRect(),
    })
    console.log(res)
   },
  })
  this.setData({
   videoList: [{
    id: 1,
    title: "黄渤",
    desc: "中国女排发布会,黄渤与巩俐中国女排发布会,黄渤与巩俐",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851354869410.mp4?sign=1f636557effa496e074332e3f4b9b8aa&t=1589851461"
   }, {
    id: 2,
    title: "莱万多夫斯基",
    desc: "莱万多夫斯基逆天五子登科",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851322674828.mp4?sign=185e46cba885c4303c7cf5f8658bea9b&t=1589851482"
   }, {
    id: 3,
    title: "驾考那些事",
    desc: "半坡起步是多难",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851312271309.mp4?sign=978660c42305ec67d4c3d603c2ae5a3d&t=1589851496"
   }, {
    id: 4,
    title: "小美女",
    desc: "蹦蹦跳跳",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851307588534.mp4?sign=43cf344e83089348eeeea38d26ba51bb&t=1589851514"
   }, {
    id: 5,
    title: "黄渤",
    desc: "中国女排发布会,黄渤与巩俐中国女排发布会,黄渤与巩俐",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851354869410.mp4?sign=1f636557effa496e074332e3f4b9b8aa&t=1589851461"
   }, {
    id: 6,
    title: "莱万多夫斯基",
    desc: "莱万多夫斯基逆天五子登科",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851322674828.mp4?sign=185e46cba885c4303c7cf5f8658bea9b&t=1589851482"
   }, {
    id: 7,
    title: "驾考那些事",
    desc: "半坡起步是多难",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851312271309.mp4?sign=978660c42305ec67d4c3d603c2ae5a3d&t=1589851496"
   }, {
    id: 8,
    title: "小美女",
    desc: "蹦蹦跳跳",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851307588534.mp4?sign=43cf344e83089348eeeea38d26ba51bb&t=1589851514"
   }, {
    id: 9,
    title: "黄渤",
    desc: "中国女排发布会,黄渤与巩俐中国女排发布会,黄渤与巩俐",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851354869410.mp4?sign=1f636557effa496e074332e3f4b9b8aa&t=1589851461"
   }, {
    id: 10,
    title: "莱万多夫斯基",
    desc: "莱万多夫斯基逆天五子登科",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851322674828.mp4?sign=185e46cba885c4303c7cf5f8658bea9b&t=1589851482"
   }, {
    id: 11,
    title: "驾考那些事",
    desc: "半坡起步是多难",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851312271309.mp4?sign=978660c42305ec67d4c3d603c2ae5a3d&t=1589851496"
   }, {
    id: 12,
    title: "小美女",
    desc: "蹦蹦跳跳",
    url: "https://6e6f-normal-env-ta6pc-1300924598.tcb.qcloud.la/video-swiper/1589851307588534.mp4?sign=43cf344e83089348eeeea38d26ba51bb&t=1589851514"
   }]
  })
 },
 onPlay(e) {
  // console.log("开始播放",e)
 },
 onShowPause(e){
  this.setData({
   isPlaying: false
  })
 },
 onHidePause(e){
  this.setData({
   isPlaying: true
  })
 },
 onPause(e) {
 },

 onEnded(e) {
  // console.log(e)
 },

 onError(e) {
 },

 onWaiting(e) {
 },

 onTimeUpdate(e) {
 },

 onProgress(e) {
 },
 onChange(e) {
  console.log(e)
  console.log("id",e.detail.activeId)
  this.setData({
   activeId:e.detail.activeId
  })
 },
 onLoadedMetaData(e) {
  console.log('LoadedMetaData', e)
 },
 go2Home() {
  wx.navigateBack({
   delta: 1,
  })
 },
})

wxml

<mp-video-swiper class="video-swiper" video-list="{{videoList}}" bindplay="onPlay" bindpause="onPause" bindtimeupdate="onTimeUpdate" bindended="onEnded" binderror="onError" bindwaiting="onWaiting" bindprogress="onProgress" bindloadedmetadata="onLoadedMetaData"
 bindchange="onChange" bindshowPause="onShowPause" bindhidePause="onHidePause"></mp-video-swiper>
 <image wx:if="{{!isPlaying}}" class="imagePlayer" style="left:{{systemInfo.screenWidth/2-40/2}}px;top:{{systemInfo.screenHeight/2-40/2}}px" src="./player.png">

 </image>
<view class="viewFloat">
 <view class="videoTitle">{{videoList[activeId-1].title}}</view>
 <view class="videoDes">{{videoList[activeId-1].desc}}</view>
</view>
<view class="viewTabContainer">
 <view class="viewTab">首页</view>
 <view class="viewTab">动态</view>
 <view class="viewTab">商品</view>
 <view class="viewTab">我的</view>
</view>

wxss

@import '../common.wxss';

page{
  background-color: black;
  height: 100%;
}

mp-video-swiper {
  width: 100%;
  height: 100%;
}
.imagePlayer{
 width: 40px;
 height: 40px;
 position: fixed;
 z-index: 1000;
 opacity: 0.6
}
.viewFloat{
 position: fixed;
 display: flex;
 z-index: 100;
 width: 500rpx;
 bottom: 60px;
 color: white;
 margin:20rpx; 
 flex-direction: column

}
.videoTitle{
 font-size: 18px;
 font-weight: 500;

}
.videoDes{
 font-size: 14px;
}
.viewTabContainer{
 position: fixed;
 display: flex;
 justify-content: space-around;
 align-items: center;
 flex-direction: row;
 width: 100%;
 height: 50px;
 border-top: 0.5px solid white;
 bottom: 0;
}
.viewTab{
 color: white;
}

总结

到此这篇关于微信小程序仿抖音短视频切换效果的实例代码的文章就介绍到这了,更多相关微信小程序抖音短视频切换内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
[HTML/CSS/Javascript]WWTJS
Sep 25 Javascript
比较简单的异步加载JS文件的代码
Jul 18 Javascript
jquery1.4.2 for Visual studio 2010 模板文件
Jul 14 Javascript
jQuery实现tab标签自动切换的方法
Feb 28 Javascript
js限制input标签中只能输入中文
Jun 26 Javascript
Bootstrap每天必学之按钮(Button)插件
Apr 25 Javascript
JS iFrame加载慢怎么解决
May 13 Javascript
Bootstrap CSS组件之大屏幕展播
Dec 17 Javascript
微信小程序 动态的设置图片的高度和宽度详解及实例代码
Feb 24 Javascript
js提取中文拼音首字母的封装工具类
Mar 12 Javascript
Vue中的无限加载vue-infinite-loading的方法
Apr 08 Javascript
vue router 组件的高级应用实例代码
Apr 08 Javascript
微信小程序swiper组件实现抖音翻页切换视频功能的实例代码
Jun 24 #Javascript
javascript实现前端成语点击验证优化
Jun 24 #Javascript
vue各种事件监听实例(小结)
Jun 24 #Javascript
keep-Alive搭配vue-router实现缓存页面效果的示例代码
Jun 24 #Javascript
javascript实现前端成语点击验证
Jun 24 #Javascript
vue单文件组件无法获取$refs的问题
Jun 24 #Javascript
JS实现数据动态渲染的竖向步骤条
Jun 24 #Javascript
You might like
PHP+MYSQL 出现乱码的解决方法
2008/08/08 PHP
for循环连续求和、九九乘法表代码
2012/02/20 PHP
ThinkPHP CURD方法之where方法详解
2014/06/18 PHP
PHP实现原生态图片上传封装类方法
2016/11/08 PHP
关于ThinkPhp 框架表单验证及ajax验证问题
2017/07/19 PHP
json格式化/压缩工具 Chrome插件扩展版
2010/05/25 Javascript
js跑步算法的实现代码
2013/12/04 Javascript
jQuery实现简单二级下拉菜单
2015/04/12 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
对Js OOP编程 创建对象的一些全面理解
2016/07/26 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
js模仿微信朋友圈计算时间显示几天/几小时/几分钟/几秒之前
2017/04/27 Javascript
JavaScript实现一个空中避难的小游戏
2017/06/06 Javascript
实例讲解DataTables固定表格宽度(设置横向滚动条)
2017/07/11 Javascript
基于canvas粒子系统的构建详解
2017/08/31 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
前端Electron新手入门教程详解
2019/06/21 Javascript
javascript设计模式 ? 组合模式原理与应用实例分析
2020/04/14 Javascript
JavaScript中的几种继承方法示例
2020/12/06 Javascript
[38:30]2014 DOTA2国际邀请赛中国区预选赛 LGD-GAMING VS CIS 第一场2
2014/05/24 DOTA
[05:06]TI4西雅图DOTA2前线报道 海涛密探LGD训练
2014/07/09 DOTA
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
Python实现识别手写数字大纲
2018/01/29 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
ansible动态Inventory主机清单配置遇到的坑
2020/01/19 Python
如何使用python代码操作git代码
2020/02/29 Python
python制作微博图片爬取工具
2021/01/16 Python
惠普美国官方商店:HP Official Store
2016/08/28 全球购物
人力资源专业推荐信
2013/11/29 职场文书
化学教学随笔感言
2014/02/19 职场文书
三八红旗集体先进事迹材料
2014/05/22 职场文书
大型演出策划方案
2014/05/28 职场文书
小学毕业典礼演讲稿
2014/09/09 职场文书
师范生小学见习总结
2015/06/23 职场文书
MySQL悲观锁与乐观锁的实现方案
2021/11/02 MySQL
Java获取字符串编码格式实现思路
2022/09/23 Java/Android