收藏
回答

做轮播图时block中循环多个图片数组,上一数组播放到第二张,为啥切换数组时是从第二张图片开始?

做轮播图时block中循环多个图片数组,循环哪个数组是根据页面选择的,现在会出现一种情况:比如上一数组播放到第三张,
触发页面选择事件,切换循环的图片数组,为什么切换的数组是从第二张图片开始?而不是从第一张开始循环播放?

wxml
class="photo-box" style="opacity:0.5">
    if="{{potostype}}" autoplay="{{autoplay}}" interval="3000" circular="ture" indicator-dots="ture" style="height:{{Height}}">
      for="{{showphotos}}" wx:key="*this">
        
          class="image-style" src="{{item}}" mode="widthFix" bindload='imgHeight'>
        
      
    
  

js
data:{ 
 photos1:[],//图组1
 phtots2:[],//图组2
 showphotos:[],
 potostype:false,
 shows: false//控制下拉列表的显示隐藏,false隐藏、true显示
 selectDatas: ['图组一','图组二'], //下拉列表的数据
 indexs: 0//选择的下拉列 表下标,
}
buttonmethod:function(){
    wx.previewImage({
      urls: this.data.photos
    })
    this.setData({
      imgtype : true
    })
  },
   // 点击下拉显示框
   selectTaps() {
    this.setData({
      shows: !this.data.shows,
    });
  },
  // 点击下拉列表
  optionTaps(e) {
    let that=this
    let photo1=that.data.photos1
    let photo2=that.data.photos2
    let Indexs = e.currentTarget.dataset.index; //获取点击的下拉列表的下标
    console.log(Indexs)
    this.setData({
      indexs: Indexs,
      shows: !this.data.shows,
    })
    if (Indexs===0){
      that.setData({
        potostype: true,
        "showphotos":photo1
      });
    } 
    else if (Indexs===1){
      this.setData({
        potostype: true,
        "showphotos":photo2
      })
    }
  },

回答关注问题邀请回答
收藏

1 个回答

  • 邹百亿
    邹百亿
    2020-09-02

    你且不切换数组,跟轮播图关系不大,你的下标到了1 ,你在切换数组的时候给他置为0就好了,就是第一张

    2020-09-02
    有用 1
    回复
登录 后发表内容
问题标签