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


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 相关文章推荐
关于javascript DOM事件模型的两件事
Jul 22 Javascript
关于JS控制代码暂停的实现方法分享
Oct 11 Javascript
innerText和textContent对比及使用介绍
Feb 27 Javascript
javascript中的=等号个数问题两个跟三个有什么区别
Oct 23 Javascript
JS实现字符串转日期并比较大小实例分析
Dec 09 Javascript
JS密码生成与强度检测完整实例(附demo源码下载)
Apr 06 Javascript
JavaScript利用Date实现简单的倒计时实例
Jan 12 Javascript
Vue.extend构造器的详解
Jul 17 Javascript
微信小程序实战篇之购物车的实现代码示例
Nov 30 Javascript
微信小程序实现元素渐入渐出动画效果封装方法
May 18 Javascript
JS highcharts实现动态曲线代码示例
Oct 16 Javascript
在antd Form表单中select设置初始值操作
Nov 02 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页面间传递参数实例代码
2008/06/05 PHP
PHP递归算法的详细示例分析
2013/02/19 PHP
PHP生成条形码大揭秘
2015/09/24 PHP
javaScript 简单验证代码(用户名,密码,邮箱)
2009/09/28 Javascript
window.js 主要包含了页面的一些操作
2009/12/23 Javascript
jquery eval解析JSON中的注意点介绍
2013/08/23 Javascript
jquery实现table鼠标经过变色代码
2013/09/25 Javascript
javascript实现 百度翻译 可折叠的分享按钮列表
2015/03/12 Javascript
Javascript removeChild()删除节点及删除子节点的方法
2015/12/27 Javascript
基于JavaScript实现通用tab选项卡(通用性强)
2016/01/07 Javascript
javascript的 {} 语句块详解
2016/02/27 Javascript
CSS3 media queries结合jQuery实现响应式导航
2016/09/30 Javascript
jQuery+ajax实现修改密码验证功能实例详解
2017/07/06 jQuery
Angular.js通过自定义指令directive实现滑块滑动效果
2017/10/13 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
vue2路由方式--嵌套路由实现方法分析
2020/03/06 Javascript
基于javascript原生判断DOM是否加载完毕
2020/10/14 Javascript
[03:59]第二届DOTA2亚洲邀请赛选手传记-VGJ.rOtk
2017/04/03 DOTA
[36:33]完美世界DOTA2联赛循环赛 Matador vs Forest 第一场 11.06
2020/11/06 DOTA
Python实现对百度云的文件上传(实例讲解)
2017/10/21 Python
python实现根据指定字符截取对应的行的内容方法
2018/10/23 Python
python微信公众号之关注公众号自动回复
2018/10/25 Python
用python建立两个Y轴的XY曲线图方法
2019/07/08 Python
pycharm新建一个python工程步骤
2019/07/16 Python
使用python计算三角形的斜边例子
2020/04/15 Python
Python的控制结构之For、While、If循环问题
2020/06/30 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
吃透移动端 Html5 响应式布局
2019/12/16 HTML / CSS
美国维生素、补充剂、保健食品购物网站:Vitacost
2016/08/05 全球购物
德国家具在线:Fashion For Home
2017/03/11 全球购物
台湾森森购物网:U-mall
2017/10/16 全球购物
DataReader和DataSet的异同
2014/12/31 面试题
请问软件开发中的设计模式你会使用哪些
2015/05/13 面试题
高中体育教学反思
2014/01/29 职场文书
忠犬八公的故事观后感
2015/06/05 职场文书
解决jupyter notebook启动后没有token的坑
2021/04/24 Python