微信小程序写一个轮播图

对于前端工程师来说,轮播图并不陌生,无论是通过position 还是通过tansform,再配合js中的setInterval()都可以实现,但是轮播图的难点就是无缝衔接。
而微信小程序提供的swiper组件可以很快的做出一个无缝衔接的轮播图。

先简单介绍一下swiper组件
(以下内容转自官方http://developers.weixin.qq.com/miniprogram/dev/component/swiper.html



根据官方文档,我们可以用下列代码生成一个轮播图:


<!-- wxml -->
<swiper class='u-wrp-bnr' indicator-dots='true' autoplay='true' interval='5000' duration='1000' circular='true'>
  <block wx:for="{{bnrUrl}}" wx:for-index="index">
    <swiper-item>
      <image src='{{item.url}}' class='u-img-slide' mode='aspectFill'></image>
    </swiper-item>
  </block>
</swiper>
<!-- wxml -->
//js
Page({
  data: {
    "bnrUrl": [{
      "url": "img/1242x366-1531449084.jpg"
    }, {
      "url": "img/1242x366_djj_0706-1530871651.jpg"
    }, {
      "url": "img/1242x366_lyx_0709-1531122892.jpg"
    }, {
      "url": "img/14540040236323_1_o.jpg"
    }]
  }
});
//js
//wxss
.u-wrp-bnr {
  width: 100%;
  height: 200rpx;
  display: block;
  position: relative;
  top: 100rpx;
  background: #f0f0f0;
}
.u-img-slide {
  width: 100%;
  height: inherit;
}
//wxss

主要用到了几个属性:

属性 功能
indicator-dots='true' 面板指示圆点
autoplay='true' 自动播放
interval='5000' 每次轮播间隔
duration='1000' 轮播动画时长
circular='true' 无缝衔接

我的解释可能和官方的有所出入,但意思基本差不多。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容