前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >小程序开发基础-swiper 滑块视图容器

小程序开发基础-swiper 滑块视图容器

作者头像
达达前端
发布2019-07-03 12:43:00
1.9K0
发布2019-07-03 12:43:00
举报
文章被收录于专栏:达达前端

标题图

小编 / 达叔小生

参考官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/

小程序开发基础-swiper 滑块视图容器

根据官方文档,在自己的程序上运行,并打进代码的效果图,swiper滑块视图容器,是用来展示图片,控制图片的

效果图

swiper为滑块视图容器,其实就是轮播图的效果。

代码中indicator-dots="{{indicatorDots}}"的效果是用来显示指示点的,就是图片中下方的小圆圈。

autoplay="{{autoplay}}"为是否可以自动切换的效果,如果不设置,那就只有一张图片显示到界面中。

current="0"为当前显示在哪个滑块,为啥为0,因为默认值为0,可知从零开始算起嘛。

interval="{{interval}}"为自动切换时间的间隔,表示每张图片显示到它设定的时间就开始切换到下一个视图即图片,如果设定为30003秒,那么图片展示到3秒后,进入到下一个图片。

duration="{{duration}}"为滑动动画时长,怎么理解呢?就是第一张图片切换到第二张图片的时长,即第一张滑出,第二张滑入到完,所用的时间长而已。

circular="{{circular}}"为是否采用衔接滑动,怎么理解呢?衔接?如果这个属性不设定,那么如果轮播图是三张图片,第一张展示到第三张即最后展示完,它会返回到第一张,那样的效果会不好看。如果设定了该属性,且为true的话,那么展示完后,直接进入到第一张图的界面。

代码语言:javascript
复制
<!--index.wxml-->
<swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular='{{circular}}' current="0">
// 用于展示轮播图效果
  <block wx:for="{{imgUrls}}">
    <swiper-item>
      <image src="{{item}}" class="slide-image" width="355" height="150" />
    </swiper-item>
  </block>
</swiper>
// 用于定义是否显示面板指示点
<button bindtap="changeIndicatorDots"> indicator-dots </button>
// 用于定义是否自动切换
<button bindtap="changeAutoplay"> autoplay </button>
// 滑动进度,这个按钮效果用于更改自动切换时间间隔
<slider bindchange="intervalChange" show-value min="500" max="2000" /> interval
// 滑动进度,这个按钮效果用于更改滑动动画时长
<slider bindchange="durationChange" show-value min="1000" max="10000" /> duration
swiper的属性

属性

说明

indicator-dots

表示显示面板的指示点,图片下的小圆圈

indicator-color

表示指示点的颜色

indicator-active-color

表示当前选中的指示点颜色

autoplay

表示为是否自动切换

current

表示当前所在的滑块 index

current-item-id

当前所在滑块的 item-id,不能与current被同时指定

interval

表示自动切换时间间隔

duration

表示为滑动动画时长

circular

表示是否采用衔接滑动

previous-margin

表示前边距,用于露出前一项的一小部分,接受 px 和 rpx 值,就是在整块模板中露出前一项的一小部分

next-margin

表示后边距,与上述同理

display-multiple-items

表示显示的滑块数量,就是显示多少张图在界面上,默认为1,如果定位2,那么就两张图片设定在界面上,界面各自分一半

skip-hidden-item-layout

表示是否跳过未显示的滑块布局,设为 true 可优化复杂情况下的滑动性能,但会丢失隐藏状态滑块的布局信息

bindchange

current 改变时会触发 change 事件,event.detail = {current: current, source: source}

bindanimationfinish

动画结束时会触发 animationfinish 事件,event.detail 同上

代码语言:javascript
复制
//index.js
Page({
  data: {
    imgUrls: [
      'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
      'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
      'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg'
    ],
    indicatorDots: true,
    circular: true,
    autoplay: true,
    interval: 2000,
    duration: 1000
  },
  changeIndicatorDots: function(e) {
    this.setData({
      indicatorDots: !this.data.indicatorDots
    })
  },
  changeAutoplay: function(e) {
    this.setData({
      autoplay: !this.data.autoplay
    })
  },
  intervalChange: function(e) {
    this.setData({
      interval: e.detail.value
    })
  },
  durationChange: function(e) {
    this.setData({
      duration: e.detail.value
    })
  }
})

js中图片资源来源于官方文档,四种改变效果函数,changeIndicatorDots(显示指示点),changeAutoplay(是否自动轮播),intervalChange(展示效果时长),durationChange(切换时间时长)

代码语言:javascript
复制
/**index.wxss**/
.slide-image{
  width: 100%;
}

wxss只是让图片宽度占满父元素而已。

注意事项

注意事项.png

检测 source 字段判断是否由于用户触摸引起 ^ v ^

开源github分享

Wechat_small_program_Share 微信小程序分享? Github 欢迎 Star、Fork

结语

  • 本文主要讲解 小程序开发基础-swiper 滑块视图容器
  • 下面我将继续对其他知识 深入讲解 ,有兴趣可以继续关注
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018.08.29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 小程序开发基础-swiper 滑块视图容器
    • swiper的属性
      • 注意事项
      • 开源github分享
      • 结语
      相关产品与服务
      容器服务
      腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档