小程序实现视频上下滑动

微信   2024-12-28 10:22   52   0  

index.wxml

<view class="video-wrap">
  <swiper class="swiper" vertical='true' easing-function='default' bindchange='swiperchange'>
    <block wx:for="{{video_list}}" wx:for-index="idx" wx:key="idx">
      <swiper-item>
        <view class="video-wrap">
          <video wx:if="{{idx==hkindex||idx==hkindex-1||idx==hkindex+1}}" show-center-play-btn="{{false}}" id="myvideo{{idx}}" class="video" src="{{item.videourl}}" loop autoplay="{{idx == autoplay ? true : false}}" show-fullscreen-btn="{{false}}" show-play-btn="{{false}}" enable-play-gesture controls="{{false}}" bindpause="bindpause" bindplay="bindplay">
          </video>
        </view>
      </swiper-item>
    </block>
  </swiper>
</view>


index.js

// pages/video/index.js
Page({

  /**
   * 页面的初始数据
   * 
   */
  data: {
    autoplay: 0,
    video_list: [],
    article_id: '',
    detail_id: '',
    extension_url: '',
    hkindex: 0, //滑块index
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.setData({
      article_id: this.data.article_id = options.article_id,
      detail_id: this.data.detail_id = options.detail_id,
    });
    wx.request({
      url: '你的视频详情页接口',
      methods: 'GET', // 请求的方式
      data: {
        article_id: this.data.article_id,
        detail_id: this.data.detail_id,
        extension_url: this.data.extension_url
      },
      success: res => {
        this.setData({
          video_list: this.data.video_list.concat(res.data.child_list)
        });
      }
    });
  },
  //动态更新当前滑块下标
  swiperchange(e) {
    this.setData({
      hkindex: e.detail.current
    })
    for (let index = 0; index < this.data.video_list.length; index++) {
      if (e.detail.current == index) {
        let videoContext = wx.createVideoContext("myvideo" + index + "");
        videoContext.play();
      } else {
        let videoContexta = wx.createVideoContext("myvideo" + index + "")
        videoContexta.pause();
        // videoContexta.seek(0);
      }
    }
  },
  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})


index.wxss

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

.video-wrap {
  width: 100%;
  height: 100%;
  position: relative;
}

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

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


来源:https://blog.csdn.net/weixin_45791806/article/details/126271114


博客评论
还没有人评论,赶紧抢个沙发~
发表评论
说明:请文明发言,共建和谐网络,您的个人信息不会被公开显示。