小程序swiper卡片式轮播

css部分

.cardSwiper {
  height: 420rpx !important;
}

swiper-item {
  width: 610rpx !important;
  left: 70rpx;
  box-sizing: border-box;
  padding: 40rpx 0rpx 70rpx;
}

.swiper-view {
  width: 100%;
  display: block;
  height: 100%;
  border-radius: 10rpx;
  transform: scale(0.9);
  transition: all 0.2s ease-in 0s;
  overflow: hidden;
  border: 1rpx solid #eee;
}

swiper-item.cur .swiper-view {
  transform: none;
  transition: all 0.2s ease-in 0s;
}

.swiper-view image {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: 10rpx;
  pointer-events: none;
}

js部分

Page({
  data: {
    cardCur: 0,
    swiperList: [{
      id: 0,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big84000.jpg'
    }, {
      id: 1,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big84001.jpg',
    }, {
      id: 2,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big39000.jpg'
    }, {
      id: 3,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big10001.jpg'
    }, {
      id: 4,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big25011.jpg'
    }, {
      id: 5,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big21016.jpg'
    }, {
      id: 6,
      url: 'https://ossweb-img.qq.com/images/lol/web201310/skin/big99008.jpg'
    }],
  },
  cardSwiper(e) {
    this.setData({
      cardCur: e.detail.current
    })
  }
})

 

html部分

<swiper bindchange="cardSwiper" indicator-dots="true" circular="true" autoplay="true" interval="5000" duration="500" indicator-color="#8799a3" indicator-active-color="#0081ff" class="cardSwiper">
  <block wx:for="{{swiperList}}" wx:key="*this">
    <swiper-item class="{{cardCur==index?'cur':''}}">
      <view class="swiper-view">
        <image src="{{item.url}}"></image>
      </view>
    </swiper-item>
  </block>
</swiper>

转载于:https://www.cnblogs.com/Yjjhn/p/10899683.html

### 如何在 UniApp 中创建卡片式轮播图 为了实现在 UniApp 应用程序中的卡片式轮播图效果,可以采用 `swiper` 组件并自定义样式来达到目的。下面提供了一个具体的实例说明。 #### 创建 Swiper 卡片布局 通过设置 swiper 的属性以及利用 CSS 来调整滑动项的位置和大小,从而形成卡片式的视觉体验: ```html <template> <view class="container"> <!-- Swiper 容器 --> <swiper :indicator-dots="true" :autoplay="false" circular interval="5000" duration="300" @change="handleChange"> <swiper-item v-for="(item, index) in cardList" :key="index"> <view :class="'card ' + (current === index ? 'active' : '')"> {{ item.title }} </view> </swiper-item> </swiper> </view> </template> <script> export default { data() { return { current: 0, cardList: [ { title: "Card One", id: 1 }, { title: "Card Two", id: 2 }, { title: "Card Three", id: 3 } ] }; }, methods: { handleChange(e) { this.current = e.detail.current; } } }; </script> <style scoped> /* 自定义样式 */ .card { width: 80%; height: 200px; background-color: #f7f7f7; border-radius: 10px; box-shadow: 0 4px 8px rgba(0, 0, 0, .1); display: flex; align-items: center; justify-content: center; transition: transform .3s ease-in-out; } .active { transform: scale(1.1); /* 当前激活状态放大 */ } </style> ``` 此代码片段展示了如何使用 Vue.js 和 UniApp 提供的基础组件构建一个具有基本交互性的卡片式轮播图[^1]。注意这里并没有直接依赖于任何特定的第三方库,而是充分利用了框架本身的能力加上一些简单的 CSS 动画效果实现了所需的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值