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


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 相关文章推荐
一个多次搜索+多次传值的解决方案
Jan 20 Javascript
Javascript优化技巧(文件瘦身篇)
Jan 28 Javascript
js中cookie的使用详细分析
May 28 Javascript
百度留言本js 大家可以参考下
Oct 13 Javascript
动态创建script标签实现跨域资源访问的方法介绍
Feb 28 Javascript
JavaScript中实现sprintf、printf函数
Jan 27 Javascript
星期几的不同脚本写法(推荐)
Jun 01 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
vue中component组件的props使用详解
Sep 04 Javascript
vue项目实战总结篇
Feb 11 Javascript
微信小程序文字显示换行问题
Jul 28 Javascript
OpenLayers3实现测量功能
Sep 25 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
WebQQ最新登陆协议的用法
2014/12/22 PHP
Zend Framework使用Zend_Loader组件动态加载文件和类用法详解
2016/12/09 PHP
Laravel框架生命周期与原理分析
2018/06/12 PHP
php-7.3.6 编译安装过程
2020/02/11 PHP
jQuery 源代码显示控件 (Ajax加载方式).
2009/05/18 Javascript
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
js+css简单实现网页换肤效果
2015/12/29 Javascript
使用nodejs下载风景壁纸
2017/02/05 NodeJs
JavaScript输入分钟、秒倒计时技巧总结(附代码)
2017/08/17 Javascript
彻底搞懂JavaScript中的apply和call方法(必看)
2017/09/18 Javascript
JS实现简易换图时钟功能分析
2018/01/04 Javascript
Nodejs连接mysql并实现增、删、改、查操作的方法详解
2018/01/04 NodeJs
使用Angular CLI生成路由的方法
2018/03/24 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
js实现继承的方法及优缺点总结
2019/05/08 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
vue操作dom元素的3种方法示例
2020/09/20 Javascript
python轻松查到删除自己的微信好友
2016/01/10 Python
python模拟事件触发机制详解
2018/01/19 Python
python3模块smtplib实现发送邮件功能
2018/05/22 Python
使用Py2Exe for Python3创建自己的exe程序示例
2018/10/31 Python
从DataFrame中提取出Series或DataFrame对象的方法
2018/11/10 Python
利用 PyCharm 实现本地代码和远端的实时同步功能
2020/03/23 Python
在tensorflow以及keras安装目录查询操作(windows下)
2020/06/19 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
使用Python获取爱奇艺电视剧弹幕数据的示例代码
2021/01/12 Python
python 利用matplotlib在3D空间中绘制平面的案例
2021/02/06 Python
HTML5操作WebSQL数据库的实例代码
2017/08/26 HTML / CSS
欧尚俄罗斯网上超市:Auchan俄罗斯
2018/05/03 全球购物
罗技美国官网:Logitech美国
2020/01/22 全球购物
培训科主任岗位职责
2014/08/08 职场文书
2014年国庆节演讲稿
2014/09/02 职场文书
家庭财产分割协议范文
2014/11/24 职场文书
学校运动会感想
2015/08/10 职场文书
2015年度学校应急管理工作总结
2015/10/22 职场文书
Win11 S Mode版本泄露 正式上线后叫做Windows 11 SE
2021/11/21 数码科技