微信小程序实现抖音播放效果的实例代码


Posted in Javascript onApril 11, 2020

最近项目要做一个类似于抖音的一个视频播放 需要小程序完成

微信小程序实现抖音播放效果的实例代码

在再次确定了需要这个需求的情况下就开始了(其实因为不是说这个功能不好做主要是但心做出来肯定不流畅 卡顿什么的 优化不好优化)

然后就开始啦

思路使用微信的 swiper 完成竖向滑动 然后分页加载首先先加载一次加载10个当滑动到第7个的时候加载下一页 (要处理自动播放的问题和加载多个有多个同时播放的问题)

效果图

微信小程序实现抖音播放效果的实例代码

代码

<swiper class="swiper" vertical='true' easing-function='default' bindchange='bindchange'>
	<block wx:for="{{weishipinglist}}" wx:for-item="key" wx:key="*this">
		<swiper-item>
			<view class="video-wrap">
				<video wx:if="{{index==hkindex}}" class="video" autoplay="{{true}}" lopp='{{true}}' src="{{key.videoid}}" enable-play-gesture='{{true}}' show-fullscreen-btn='{{false}}' controls='{{false}}' vslide-gesture-in-fullscreen='{{false}}' show-play-btn='{{false}}' enable-progress-gesture='{{false}}' show-mute-btn='{{false}}'></video>
				 <button class="buy" bindtap="click">{{index}}</button> 
			</view>
		</swiper-item>
	</block>
</swiper>
data: {
  weishipinglist: [],//视频数据
  hkindex: 0,//滑块index
 },
 //动态更新当前滑块下标
 bindchange(e) {
  this.setData({
   hkindex: e.detail.current
  })
  if (e.detail.current%10 == 7) {
   this.chaxunzhi(); //此处是表示在快要加载完了需在分页请求加载
  }
 },
//css代码可能有多余的 我就不挑了 引入时自己按需引入吧

page {
 width: 100%;
 height: 100%;

}

.video-wrap {
 width: 100%;
 height: 100%;
 position: relative;
 /* border: 1px dashed red; */
}

.video-wrap video {
 width: 100%;
 height: 100%;
 position: absolute;
 top: 0px;
 left: 0;
 z-index: 1;
}

.video-wrap .buy {
 width: 100rpx;
 height: 100rpx;
 line-height: 100rpx;
 border-radius: 50%;
 position: absolute;
 z-index: 100;
 bottom: 100rpx;
 left: 50rpx;
 font-size: 11pt;
 text-align: center;
 padding: 0px;
}

.swiper {
 width: 100%;
 height: 100%;
}

.tentbiaot {
 width: 400rpx;
 font-size: 30rpx;
 color: #fff;
 z-index: 99;
 white-space: normal;
 line-height: 40rpx;
 margin-top: 20rpx;
}

.diwen {
 width: 400rpx;
 color: #fff;
 z-index: 99;
 display: flex;
 align-items: center;
}

.toixaign {
 width: 50rpx;
 height: 50rpx;
 border-radius: 50rpx;
 margin-right: 10rpx;
}

.teiename {
 font-size: 34rpx;
 margin-right: 10rpx;
}

.diwe {
 display: flex;
 position: fixed;
 bottom: 100rpx;
 flex-direction: column;
 z-index: 99;
 left: 40rpx;
}


.dianzaidijila {
 width: 100rpx;
 position: fixed;
 right: 30rpx;
 bottom: 80rpx;
 display: flex;
 flex-direction: column;
 align-items: center;
 justify-content: center;
 z-index: 99;
}

.tuaobiao {
 display: flex;
 align-items: center;
 flex-direction: column;
 justify-content: center;
 margin-bottom: 30rpx;
}

.tobimg{
 width: 60rpx;
 height: 50rpx;
}

.tobimglw{
 width: 60rpx;
 height: 60rpx;
 margin-bottom: 20rpx;
}

.zitiet{
 color: #fff; 
 font-size: 26rpx;
 margin-top: 6rpx;
}

.zhaunfanan {
 width: 60rpx;
 height: 50rpx;
 padding: 0rpx;
 border: none !important;
 line-height: 0rpx;
}

.zhaunfananas {
 width: 60rpx;
 height: 50rpx;
}

完了需要注意的就是一个分页加载 我设置的是7因为我们数据是一页10条 会在第7条加载第二页数据

wx:if="{{index==hkindex}}" 这个起到的是控制加载要不会多个同时播放没刷到的也会播放 现在只会播放当前页面视频

总结

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

Javascript 相关文章推荐
从URL中提取参数与将对象转换为URL查询参数的实现代码
Jan 12 Javascript
基于JQuery的一句话搞定手风琴菜单
Sep 14 Javascript
checkbox使用示例
Aug 23 Javascript
jquery操作checkbox实现全选和取消全选
May 02 Javascript
Javascript玩转继承(二)
May 08 Javascript
jquery缓动swing liner控制动画过程不同时刻的速度
May 29 Javascript
jQuery的ajax下载blob文件
Jul 21 Javascript
javascript中apply/call和bind的使用
Feb 15 Javascript
easyui-datagrid特殊字符不能显示的处理方法
Apr 12 Javascript
JavaScrip关于创建常量的知识点
Dec 07 Javascript
angular4自定义表单控件[(ngModel)]的实现
Nov 23 Javascript
javascript实现移动端触屏拖拽功能
Jul 29 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 #Javascript
js防抖函数和节流函数使用场景和实现区别示例分析
Apr 11 #Javascript
js函数柯里化的方法和作用实例分析
Apr 11 #Javascript
js点击事件的执行过程实例分析【冒泡与捕获】
Apr 11 #Javascript
JavaScript运行机制实例分析
Apr 11 #Javascript
js中调用微信的扫描二维码功能的实现代码
Apr 11 #Javascript
微信公众号中的JSSDK接入及invalid signature等常见错误问题分析(全面解析)
Apr 11 #Javascript
You might like
一拳超人中怪人协会钦定! S级别最强四人!
2020/03/02 日漫
php的header和asp中的redirect比较
2006/10/09 PHP
PHP中使用localhost连接Mysql不成功的解决方法
2014/08/20 PHP
利用PHP自动生成印有用户信息的名片
2016/08/01 PHP
php使用curl代理实现抓取数据的方法
2017/02/03 PHP
PHP根据树的前序遍历和中序遍历构造树并输出后序遍历的方法
2017/11/10 PHP
javascript 跳转代码集合
2009/12/03 Javascript
JavaScript小技巧整理篇(非常全)
2016/01/26 Javascript
基于Bootstrap框架实现图片切换
2017/03/10 Javascript
利用Node.js对文件进行重命名
2017/03/12 Javascript
关于Google发布的JavaScript代码规范你要知道哪些
2018/04/04 Javascript
JS实现json对象数组按对象属性排序操作示例
2018/05/18 Javascript
vue-router的钩子函数用法实例分析
2019/10/26 Javascript
微信小程序使用 vant Dialog组件的正确方式
2020/02/21 Javascript
解决vue项目,npm run build后,报路径错的问题
2020/08/13 Javascript
简单谈谈python中的多进程
2016/11/06 Python
windows上安装Anaconda和python的教程详解
2017/03/28 Python
浅谈python装饰器探究与参数的领取
2017/12/01 Python
django解决跨域请求的问题详解
2019/01/20 Python
一行Python代码过滤标点符号等特殊字符
2019/08/12 Python
Python爬取腾讯视频评论的思路详解
2019/12/19 Python
学python最电脑配置有要求么
2020/07/05 Python
用Python 执行cmd命令
2020/12/18 Python
Mamas & Papas沙特阿拉伯:英国最受欢迎的婴儿品牌
2017/11/20 全球购物
最新教师自我评价分享
2013/11/12 职场文书
大学生入党思想汇报
2014/01/01 职场文书
求职信范文怎么写
2014/01/29 职场文书
中药专业毕业自荐书范文
2014/02/08 职场文书
计算机网络专业自荐书
2014/06/09 职场文书
2014年中秋节活动总结
2014/08/29 职场文书
文明单位汇报材料
2014/12/24 职场文书
2016年感恩教师节校园广播稿
2015/12/18 职场文书
导游词之重庆钓鱼城
2019/09/19 职场文书
2019年12月24日平安夜祝福语集锦
2019/12/24 职场文书
python实现简单的聊天小程序
2021/07/07 Python
Win10服务全部禁用了怎么启动?Win10服务全部禁用解决方法
2022/09/23 数码科技