【微信小程序】获取轮播图当前图片下标、滑动展示对应的位数、点击位数展示对应图片...

业务需求:

3个图片轮番播放,可以左右滑动,点击指示点可以切换图片 

index.wxml:

这里使用小程序提供的<swiper>组件
autoplay:自动播放
interval:自动切换时间
duration:滑动动画的时长
current:当前所在的页面
bindchange:current 改变时会触发 change 事件
由于<swiper>组件提供的指示点样式比较单一,另外再自定义指示点的样式

 

index.wxml :

    <scroll-view  scroll-y="true">
      <swiper  catchtap="onSwiperTap" autoplay="auto" interval="3000" duration="500" current="{{swiperCurrent}}"  bindchange="swiperChange">
          <block wx:for="{{home_pics}}"  wx:for-index="index">
              <swiper-item>
                  <view class="ar_coverpath">
                    <image data-posturl="{{home_pics[index]}}" src="{{home_pics[index]}}"  bindtap="previewImage" mode="aspectFill"/>
                </view>
              </swiper-item>
          </block>
      </swiper>
      <!--  实现点击选中样式  -->
      <view class="dots">  
      <block wx:for="{{home_pics}}" wx:for-index="index">  
        <view class="dot{{index == swiperCurrent ? ' active' : ''}}" bindtap="chuangEvent" id="{{index}}">{{index+1}}</view>  
      </block>  
    </view> 
    </scroll-view>

 

index.js:

  data: {
    swiperCurrent: 0
  },  
  //轮播图的切换事件  
  swiperChange: function (e) { 
    console.log(e); 
    this.setData({
      swiperCurrent: e.detail.current   //获取当前轮播图片的下标
    })
  },
  //点击指示点切换  
  chuangEvent: function (e) {
    this.setData({
      swiperCurrent: e.currentTarget.id
    })
  },

//获取图片在onload就可以进行。

 

运行:

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好,根据您的问题描述,我理解为您想实现在微信小程序中的轮播图中,滑动到某张图片时,可以改变对应的标签(label)的状态。如果我的理解有误,请您及时纠正。 要实现这个功能,您可以通过监听页面滑动事件 `swiperchange`,获取当前滑动到的图片的索引,然后将对应的标签状态改变。具体实现步骤如下: 1. 在轮播图组件 `swiper` 中绑定 `swiperchange` 事件,例如: ```html <swiper bindchange="swiperChange"> <swiper-item> <image src="image1.jpg"></image> </swiper-item> <swiper-item> <image src="image2.jpg"></image> </swiper-item> <swiper-item> <image src="image3.jpg"></image> </swiper-item> </swiper> ``` 2. 在对应的页面逻辑 `js` 文件中定义 `swiperChange` 函获取当前滑动到的图片的索引,例如: ```javascript Page({ data: { current: 0, // 当前显示的图片索引 labels: ['标签1', '标签2', '标签3'] // 所有标签 }, swiperChange: function(event) { this.setData({ current: event.detail.current // 获取当前滑动到的图片索引 }); // 将对应的标签状态改变 this.changeLabelStatus(this.data.current); }, changeLabelStatus: function(index) { var labels = this.data.labels; for (var i = 0; i < labels.length; i++) { if (i === index) { labels[i] = '当前标签'; // 改变对应标签的状态 } else { labels[i] = '其他标签'; // 恢复其他标签的状态 } } this.setData({ labels: labels }); } }) ``` 3. 在 `wxml` 文件中绑定对应的标签,例如: ```html <view> <view class="{{label === '当前标签' ? 'active' : ''}}" wx:for="{{labels}}" wx:key="{{index}}" wx:for-item="label">{{label}}</view> </view> ``` 在这里,我们使用 `wx:for` 循环渲染所有的标签,使用 `wx:key` 定义唯一的标识符,使用 `wx:for-item` 定义当前循环的变量名,然后使用 `{{}}` 语法绑定标签的文本内容。同时,我们使用 `class` 属性来动态绑定标签的样式,当标签状态为当前标签时,添加 `active` 样式。 通过以上步骤,就可以实现在微信小程序中的轮播图中,滑动到某张图片时,可以改变对应的标签(label)的状态了。希望对您有所帮助,如有疑问,请随时追问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值