微信小程序自定义进度条及手动拖拽功能

本文介绍了如何在微信小程序中创建自定义进度条并实现手动拖拽功能。通过在wxml中使用movable-area和movable-view组件来定义已播放部分和总长度,结合wxss设置样式,再在json配置文件中进行相应设置。在js部分,重点讲述了进度条的使用逻辑以及如何实现拖拽操作以调整进度。
摘要由CSDN通过智能技术生成

首先是wxml部分


<view class="proess-box">
  <view class="time">{
  {currentTime}}</view>
  <movable-area  catchtouchmove="voidMethod" catchtap="tap" class="progress-box" style="width:{
  {width}}px;height:10px">
    <view class="bg-box">
      <view style="width:{
  {value}}%" class="inner"></view>
    </view>
    <movable-view class="progress-dot" wx:if="{
  {showDot}}" x="{
  {(value/100)*width}}" bindtouchmove="touchmove" bindtouchend="touchend"  direction="horizontal" bindchange="getCgh">
      <view class="dot"></view>
    </movable-view>
  </movable-area>
  <view class="end-time time" style="left: {
  {width&#
  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
自定义微信小程序video的进度条,可以使用wx.createVideoContext()方法获取video组件实例,然后通过该实例的属性和方法来实现自定义进度条的效果。 以下是一个简单的示例代码: wxml文件部分: ```xml <video src="{{src}}" id="myVideo"></video> <view class="progress-bar" style="width: {{progress}}%;"></view> ``` js文件部分: ```javascript Page({ data: { src: '视频地址', duration: 0, // 视频总时长 currentTime: 0, // 当前播放时间 progress: 0 // 进度条进度 }, onLoad: function () { // 获取video组件实例 this.videoContext = wx.createVideoContext('myVideo', this); // 监听视频播放时间变化事件 this.videoContext.onTimeUpdate(this.handleTimeUpdate); // 获取视频总时长 this.videoContext.duration((duration) => { this.setData({ duration: duration }); }); }, handleTimeUpdate: function (e) { // 更新当前播放时间和进度条进度 this.setData({ currentTime: e.detail.currentTime, progress: e.detail.currentTime / this.data.duration * 100 }); } }); ``` css文件部分: ```css .progress-bar { height: 6px; background-color: #ccc; } ``` 在上述代码中,我们首先通过wx.createVideoContext()方法获取video组件实例,然后在onLoad()生命周期函数中监听视频播放时间变化事件,并获取视频总时长。在handleTimeUpdate()函数中,我们更新当前播放时间和进度条进度,最后在wxml文件中使用style属性来设置进度条的宽度。 需要注意的是,为了让Video组件支持进度条拖动功能,还需要在wxml文件中添加bindtouchstart、bindtouchmove和bindtouchend事件,并在js文件中添加相应的处理函数。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值