微信小程序:放大效果轮播图详解

轮播图是每个应用APP基本上都会用到的<view>.也是初学小程序前端必须知道的东西;

WXML:

  <swiper class="swiper-block" previous-margin="90rpx" next-margin="90rpx" current="0" 
indicator-dots="true" autoplay="true" interval="2000" duration="500" 
bindchange="swiperChange">                            /*swiper是微信小程序的一个标签,一个轮播图专用的标签*/
    <block wx:for="{{Images}}" wx:index="{{index}}">  /*循环image数组里的图片*/
      <swiper-item class="swiper-item">
        <image mode="aspectFill" src="{{item.img_url}}" 
         class="slide-image {{swiperIndex == index ? 'active' : ''}}" />  
                                                    /*如果swiperTndex等于index时  显示active里的变化   不等时就是slide-image的样式,这个主要是设置了当前的图片的放大效果*/
      </swiper-item>
    </block>
  </swiper>

    <!-- // indicatorDots: true,  //小点
  // autoplay: true,  //是否自动轮播
  // interval: 3000,  //间隔时间
  // duration: 3000,  //滑动时间
  // previous-margin    前一张图露出来的大小
  // next-margin      后一张图露出来的大小
  // bindchange    绑定的事件-->

 JS:

Page({
  data: {
    Images: [{
        img_url: "../../img/1.jpg"
      },
      {
        img_url: "../../img/2.jpg"
      },
      {
        img_url: "../../img/3.jpg"
      },
      {
        img_url: "../../img/4.jpg"
      },
      {
        img_url: "../../img/5.jpg"
      },
    ],
    swiperIndex: 0
  },
  swiperChange(e) {
    var that = this;
    that.setData({
      swiperIndex: e.detail.current,           /*定义当前数据的swiperIndex等于当前数据的current*/
    })
  },
  onLoad: function() {                       /*微信小程序一开始时就调用*/
    this.setData({             
      logs: (wx.getStorageSync('logs') || []).map(log => {
        return util.formatTime(new Date(log))
      })
    })
  }
})

WXSS:

.swiper-block {
  height: 480rpx;
  width: 100%;
  background-color: #b36969;
}

.swiper-item {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: flex-start;
  overflow: unset;
}

.slide-image {
  height: 420rpx;
  width: 520rpx;
  border-radius: 9rpx;
  box-shadow: 0px 0px 30rpx rgba(138, 69, 69, 1);
  margin: 0rpx 10rpx;
  z-index: 1;
}
.active {
  transform: scale(1.14);          /*当前放大效果为y轴扩大1.14倍*/
  transition: all 0.2s ease-in 0s;        /*放大的效果是0.2秒完成*/
  z-index: 20;
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值