小程序点击图片实现自动播放视频


Posted in Javascript onMay 29, 2020

通过列表的点击事件自动播放列表对应的视频,同时停止上一个视频的播放。

源码:

<view>
 <view class='vv' wx:for='{{vedio_data}}' wx:key=''>
 <view class='block' style='margin-left:20rpx;'>
 <image src='/img/1.png' class='img1' style='margin-left:20rpx'></image>
 <text class='text'>{{item.title}} </text>
 <view id="{{index}}" class="cover" style="display: {{ _index == index ? 'none' : 'block' }};" bindtap="videoPlay" >
 <!-- 视频图层 -->
 <image class="videoVideo2" src="{{item.img}}" mode="scaleToFill">
  <!-- 视频按钮 -->
  <image class="videoPlay" src="/img/bf.png" mode="scaleToFill"></image>
 </image>
 </view>
 </view>
 <!-- 视频 -->
 <video src="{{item.url}}" id="{{index}}" class='video' wx:if="{{_index == index}}" >
<!-- log -->
 </video>
 </view>
 <view class='di'>
 <image src='/img/qd.png' class='bottom'></image>
 <text class='bottom_text'>敬请期待</text>
 </view>
</view>

CSS:

/* 边框 */
.vv {
 width: 700rpx;
 height: 530rpx;
 border-left: gainsboro 1px solid;
 border-right: gainsboro 1px solid;
 border-top: gainsboro 1px solid;
 margin-bottom: 80rpx;
 border-radius: 15rpx;
 overflow: hidden;
 position: relative;
 top: 40rpx;
 left: 20rpx;
}
 
 
 
/* 小图标 */
.img1 {
 width: 36rpx;
 height: 28rpx;
 margin-top: 30rpx;
}
 
 
/* 标题文字 */
.text {
 font-size: 28rpx;
 color: #585858;
 margin-left: 10rpx;
}
 
/* 视频 */
.video {
 width: 100%;
 height: 450rpx;
 margin-top: 20rpx;
 border-bottom-left-radius: 15rpx;
 border-bottom-right-radius: 15rpx;
}
.videoVideo2 {
 width: 703rpx;
 height: 453rpx;
 position: absolute;
 top: 80rpx;
 left: 20rpx;
 z-index: 99;
}
.videoPlay{
 position: absolute;
 width: 80rpx;
 height: 80rpx;
 top:45%;
 left: 45%;
 margin: -30rpx 0 0 -30rpx;
 z-index: 100;
}
 
/* 底部盒子 */
.bottom {
 width: 40rpx;
 height: 40rpx;
}
 
/* 底部图片 */
.di {
 display: flex;
 flex-direction: row;
 padding: 60rpx 0rpx 100rpx 280rpx;
}
 
/* 底部文字 */
.bottom_text {
 font-size: 34rpx;
 color: #d8d8d8;
 margin-left: 10rpx;
}

JS:

// pages/class/class.js
Page({
 /**
 * 页面的初始数据
 */
 data: {
 videoPlay: null,
 
 vedio_data: [{
 title: '无13131(大班)',
 url: 'xxx',
 img: 'xxx',
 
 },
 {
 title: ' 如何23 1 、 2 、2423、4)',
 url: 'xxx',
 img: 'xxx'
 },
 {
 title: '温热碍',
 url: 'xxx',
 img:'xxx'
 },
 {
 title: '挑嘎嘎嘎输',
 url: 'xxx',
 img: 'xxx'
 },
 {
 title: '延伸挑战:运输圆球',
 url: 'xxx',
 img:'xxx'
 },
 
 ]
 },
 
 // 点击cover播放,其它视频结束
 videoPlay: function (e) {
 var _index = e.currentTarget.id
 this.setData({
 _index: _index
 })
 //停止正在播放的视频
 var videoContextPrev = wx.createVideoContext(this.data._index)
 videoContextPrev.stop();
 
 setTimeout(function(){
 //将点击视频进行播放
 var videoContext = wx.createVideoContext(_index)
 videoContext.play();
 },500)
 },
})

视频和图片地址就不提供了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
JS 自定义带默认值的函数
Jul 21 Javascript
Extjs的FileUploadField文件上传出现了两个上传按钮
Apr 29 Javascript
jquery 取子节点及当前节点属性值的方法
Aug 24 Javascript
使用不同的方法结合/合并两个JS数组
Sep 18 Javascript
jQuery修改class属性和CSS样式整理
Jan 30 Javascript
JavaScript实现对下拉列表值进行排序的方法
Jul 15 Javascript
探究Javascript模板引擎mustache.js使用方法
Jan 26 Javascript
JS面向对象编程详解
Mar 06 Javascript
js时间戳和c#时间戳互转方法(推荐)
Feb 15 Javascript
JavaScript设计模式之代理模式详解
Jun 09 Javascript
利用Javascript实现一套自定义事件机制
Dec 14 Javascript
vue实现短信验证码登录功能(流程详解)
Dec 10 Javascript
django使用channels2.x实现实时通讯
Nov 28 #Javascript
在 Vue-CLI 中引入 simple-mock实现简易的 API Mock 接口数据模拟
Nov 28 #Javascript
详解Vue中watch的详细用法
Nov 28 #Javascript
vscode下的vue文件格式化问题
Nov 28 #Javascript
微信小程序如何获取用户收货地址
Nov 27 #Javascript
详解vue2.0 资源文件assets和static的区别
Nov 27 #Javascript
微信小程序实现点击图片旋转180度并且弹出下拉列表
Nov 27 #Javascript
You might like
PHP最常用的ini函数分析 针对PHP.ini配置文件
2010/04/22 PHP
Thinkphp模板中截取字符串函数简介
2014/06/17 PHP
php自定义hash函数实例
2015/05/05 PHP
PHP文件操作之获取目录下文件与计算相对路径的方法
2016/01/08 PHP
Yii2前后台分离及migrate使用(七)
2016/05/04 PHP
php检测mysql表是否存在的方法小结
2017/07/20 PHP
javascript编程起步(第三课)
2007/02/27 Javascript
jquery 之 $().hover(func1, funct2)使用方法
2012/06/14 Javascript
Knockout text绑定DOM的使用方法
2013/11/15 Javascript
js实现拉幕效果的广告代码
2015/09/02 Javascript
JS使用post提交的两种方式
2015/12/03 Javascript
Bootstrap按钮功能之查询按钮和重置按钮
2016/10/26 Javascript
jQuery模拟完美实现经典FLASH导航动画效果【附demo源码下载】
2016/11/09 Javascript
手把手教你搭建ES6的开发运行环境
2017/07/11 Javascript
基于Vue实现页面切换左右滑动效果
2020/06/29 Javascript
Node.js 的模块知识汇总
2017/08/16 Javascript
jQuery实现的简单日历组件定义与用法示例
2018/12/24 jQuery
微信小程序云开发实现数据添加、查询和分页
2019/05/17 Javascript
js实现简单的打印表格
2020/01/15 Javascript
[53:21]2014 DOTA2国际邀请赛中国区预选赛5.21 DT VS LGD-CDEC
2014/05/22 DOTA
[46:55]LGD vs Liquid 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/19 DOTA
Pandas探索之高性能函数eval和query解析
2017/10/28 Python
python机器学习之KNN分类算法
2018/08/29 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
使用Python实现文字转语音并生成wav文件的例子
2019/08/08 Python
python单向循环链表原理与实现方法示例
2019/12/03 Python
pytorch 实现模型不同层设置不同的学习率方式
2020/01/06 Python
研修第一天随笔感言
2014/02/15 职场文书
2014年元旦联欢会活动策划方案
2014/02/16 职场文书
党委领导班子整改方案
2014/09/30 职场文书
晚自修旷课检讨书怎么写
2014/11/17 职场文书
杭州西湖英语导游词
2015/02/03 职场文书
2015年全国“爱牙日”宣传活动总结
2015/03/23 职场文书
会议室管理制度范本
2015/08/06 职场文书
八年级英语教学反思
2016/02/15 职场文书
Redis 限流器
2022/05/15 Redis