会飞的母居居
2021-06-07 14:42
采纳率: 50%
浏览 143

微信小程序仿写抖音视频效果

我写了个  进去总是不能自动播放  写自动播放的话全部视频都自动播放了  有大佬帮忙写个不🙈

  • 写回答
  • 好问题 提建议
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • 风雪一更 2021-06-10 09:45
    已采纳

    为当前播放的视频绑定active标识,所有视频绑定的autoplay变量通过三目运算判断是否是当前的active标识视频,是则为true,否则为false

    已采纳该答案
    评论
    解决 1 无用
    打赏 举报
  • 会飞的母居居 2021-06-11 14:31
    const app = getApp()
    let indx = ""
    let index=""
    Page({
      /**
       * 页面的初始数据
       */
      data: {
        weishipinglist: [], //视频数据
        hkindex: "0", //滑块index
        icon_like: '../../images/hxin.png',
        icon_unlike: '../../images/xin.png',
        like: false, //是否已点赞
        count: 0, //点赞数量
        timer: '', //定时器名字
        countDownNum: '10', //倒计时初始值
        autoplay:true,
      },
      //点赞
    
     
      //动态更新当前滑块下标
      bindchange(e) {
        this.setData({
          hkindex: e.detail.current
        })
        console.log(e.detail.current)
        let videoContext = wx.createVideoContext("myvideo" + e.detail.current + "")
        let videoContexta = wx.createVideoContext("myvideo" + indx + "")
        indx = e.detail.current;
        videoContexta.pause();
        videoContexta.seek(0);
        videoContext.play()
      },
     
     
      goguanzhu: function () {
        wx.navigateTo({
          url: '../../pages/guanzhu/guanzhu',
        })
      },
      goxiaoxi: function () {
        if(getApp().urlData.userInfo==null){
          wx.navigateTo({
            url: '../login/login?id=2',
          })
        }else{
            wx.navigateTo({
          url: '../../pages/xiaoxi/xiaoxi?',
        })
        }
      },
     
      onShareAppMessage: function () {},
    
      /**
       * 生命周期函数--监听页面加载
       */
      onLoad: function (options) {
        wx.request({
          url: 'https://f.qinzhifu.vip/member/gotoLouPanManage!gotoQueryLouPanShiPin.action?index=', //此处为自己后台的请求地址
          data:{},
          header: {
            'Content-Type': 'application/json'
          },
          success: res => {
            console.log(res.data) //打印查看是否接收到数据
            this.setData({
              weishipinglist: res.data,
              spimg: "https://f.qinzhifu.vip/"
            })
          },
        })
        // 赋值:屏幕高度、
        this.setData({
          windowHeight: wx.getSystemInfoSync().windowHeight
        })
        this.bindchange()
      },
    
      onShow: function () {
        //什么时候触发倒计时,就在什么地方调用这个函数
        this.countDown();
      },
      countDown: function () {
        let that = this;
        let countDownNum = that.data.countDownNum; //获取倒计时初始值
        //如果将定时器设置在外面,那么用户就看不到countDownNum的数值动态变化,所以要把定时器存进data里面
        that.setData({
          timer: setInterval(function () { //这里把setInterval赋值给变量名为timer的变量
            //每隔一秒countDownNum就减一,实现同步
          
            if(countDownNum<=10){
               countDownNum--;
         
            }
            if(countDownNum<=0){
            countDownNum=10
              wx.showToast({
                title: '积分已领取+10',
                duration: 1000
              })
              setTimeout(function () {
                wx.hideToast()
              }, 500)
            }
            if (countDownNum == 0) {
              //这里特别要注意,计时器是始终一直在走的,如果你的时间为0,那么就要关掉定时器!不然相当耗性能
              //因为timer是存在data里面的,所以在关掉时,也要在data里取出后再关闭
              clearInterval(that.data.timer);
              
              //关闭定时器之后,可作其他处理codes go here
            }
            //然后把countDownNum存进data,好让用户知道时间在倒计着
            that.setData({
              countDownNum: countDownNum
            })
            //在倒计时还未到0时,这中间可以做其他的事情,按项目需求来
          }, 1000)
        })
      },
      onUnload(){
        let that = this;
        clearInterval(that.data.timer)
      },
      onHide(){
        let that = this;
        clearInterval(that.data.timer)
      },
    })
    评论
    解决 无用
    打赏 举报

相关推荐 更多相似问题