微信小程序实现Swiper轮播图效果


Posted in Javascript onNovember 22, 2019

本文实例为大家分享了微信小程序轮播图的具体代码,供大家参考,具体内容如下

1.逻辑层

mine.js

// pages/mine/mine.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, // 是否显示面板指示点
 autoplay: true, // 是否自动切换
 interval: 5000, // 自动切换时间间隔
 duration: 500, // 滑动动画时长
 circular: true, // 是否采用衔接滑动
 /*自定义轮播图 配置*/
 slider: [
 { id: '0', linkUrl: 'pages/index/index', picUrl: 'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg' },
 { id: '0', linkUrl: 'pages/index/index', picUrl: 'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg' },
 { id: '0', linkUrl: 'pages/index/index', picUrl: 'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg' }
 ],
 swiperCurrent: 0
 },
 
 /**
 * 生命周期函数--监听页面加载
 */
 onLoad: function (options) {
 
 },
 
 //轮播图的切换事件 
 swiperChange: function (e) {
 //只要把切换后当前的index传给<swiper>组件的current属性即可 
 this.setData({
 swiperCurrent: e.detail.current
 })
 },
 //点击指示点切换 
 chuangEvent: function (e) {
 this.setData({
 swiperCurrent: e.currentTarget.id
 })
 }
})

2.页面布局

mine.wxml

<!--pages/mine/mine.wxml-->
<view>
 <!-- 轮播图 -->
 <swiper class="swiper" indicator-dots="{{indicatorDots}}"
 autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" circular="{{circular}}">
 <block wx:for="{{imgUrls}}" wx:key="id">
 <swiper-item>
 <image src="{{item}}" class="slide-image" />
 </swiper-item>
 </block>
 </swiper>
 <!-- 自定义轮播图 -->
 <view class="swiper-container"> 
 <swiper circular="true" autoplay="auto" interval="5000" duration="500" current="{{swiperCurrent}}" bindchange="swiperChange" class="swiper"> 
 <block wx:for="{{slider}}" wx:key="unique"> 
 <swiper-item data-id="{{item.id}}" data-url="{{item.linkUrl}}"> 
  <image src="{{item.picUrl}}" class="img"></image> 
 </swiper-item> 
 </block> 
 </swiper> 
 <view class="dots"> 
 <block wx:for="{{slider}}" wx:key="unique"> 
 <view class="dot{{index == swiperCurrent ? ' active' : ''}}" bindtap="chuangEvent" id="{{index}}">{{index+1}}</view> 
 </block> 
 </view> 
 </view>
</view>

3.样式

mine.wxss

/* pages/mine/mine.wxss */
/**轮播图 start**/
.swiper {
 height: 400rpx;
 width: 100%;
}
.swiper image {
 height: 100%;
 width: 100%;
}
/**轮播图 end**/
/**自定义轮播图 start**/
.swiper-container{ 
 position: relative; 
} 
.swiper-container .swiper{ 
 height: 400rpx; 
} 
.swiper-container .swiper .img{ 
 width: 100%; 
 height: 100%; 
} 
.swiper-container .dots{ 
 position: absolute; 
 right: 40rpx; 
 bottom: 20rpx; 
 display: flex; 
 justify-content: center; 
} 
.swiper-container .dots .dot{ 
 margin: 0 10rpx; 
 width: 28rpx; 
 height: 28rpx; 
 background: #fff; 
 border-radius: 50%; 
 transition: all .6s; 
 font: 300 18rpx/28rpx "microsoft yahei"; 
 text-align: center; 
} 
.swiper-container .dots .dot.active{ 
 background: #f80; 
 color:#fff; 
}
/**自定义轮播图 end**/

4.效果图

微信小程序实现Swiper轮播图效果

5.参数

微信小程序实现Swiper轮播图效果

更多关于轮播图效果的专题,请点击下方链接查看学习

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
繁简字转换功能
Jul 19 Javascript
几款极品的javascript压缩混淆工具
May 16 Javascript
jQuery学习总结之元素的相对定位和选择器(持续更新)
Apr 26 Javascript
基于jPlayer三分屏的制作方法
Dec 21 Javascript
jQuery表单插件ajaxForm实例详解
Jan 17 Javascript
超简单的Vue.js环境搭建教程
Mar 17 Javascript
利用vscode编写vue的简单配置详解
Jun 17 Javascript
Vue单页及多页应用全局配置404页面实践记录
May 22 Javascript
详解基于Vue2.0实现的移动端弹窗(Alert, Confirm, Toast)组件
Aug 02 Javascript
JS使用Dijkstra算法求解最短路径
Jan 17 Javascript
vue.js使用v-model实现表单元素(input) 双向数据绑定功能示例
Mar 08 Javascript
Vue中ref和$refs的介绍以及使用方法示例
Jan 11 Vue.js
Js代码中的span拼接问题解决
Nov 22 #Javascript
微信小程序商品详情页底部弹出框
Nov 22 #Javascript
小程序实现图片预览裁剪插件
Nov 22 #Javascript
Vue数据双向绑定底层实现原理
Nov 22 #Javascript
Node如何后台数据库使用增删改查功能
Nov 21 #Javascript
vue移动端使用appClound拉起支付宝支付的实现方法
Nov 21 #Javascript
微信小程序动态设置图片大小的方法
Nov 21 #Javascript
You might like
基于Windows下Apache PHP5.3.1安装教程
2010/01/08 PHP
php 判断数组是几维数组
2013/03/20 PHP
php小技巧之过滤ascii控制字符
2014/05/14 PHP
PHP类的封装与继承详解
2015/09/29 PHP
PHP快速生成各种信息提示框的方法
2016/02/03 PHP
详解PHP中的序列化、反序列化操作
2017/03/21 PHP
PC端微信扫码支付成功之后自动跳转php版代码
2017/07/07 PHP
执行iframe中的javascript方法
2008/10/07 Javascript
jquery对ajax的支持介绍
2013/12/10 Javascript
使用jquery.qrcode.js生成二维码插件
2016/10/17 Javascript
JS实现多张图片预览同步上传功能
2017/06/23 Javascript
js下拉菜单生成器dropMenu使用方法详解
2017/08/01 Javascript
浅谈在react中如何实现扫码枪输入
2018/07/04 Javascript
vue.js通过路由实现经典的三栏布局实例代码
2018/07/08 Javascript
微信小程序分享小程序码的生成(带参数)以及参数的获取
2020/03/25 Javascript
使用TS来编写express服务器的方法步骤
2020/10/29 Javascript
详解vue之自行实现派发与广播(dispatch与broadcast)
2021/01/19 Vue.js
vue打开新窗口并实现传参的图文实例
2021/03/04 Vue.js
[04:54]DOTA2-DPC中国联赛1月31日Recap集锦
2021/03/11 DOTA
在Django中管理Users和Permissions以及Groups的方法
2015/07/23 Python
python脚本设置超时机制系统时间的方法
2016/02/21 Python
Python代码解决RenderView窗口not found问题
2016/08/28 Python
python类中super()和__init__()的区别
2016/10/18 Python
关于Tensorflow中的tf.train.batch函数的使用
2018/04/24 Python
Python实现简单查找最长子串功能示例
2019/02/26 Python
python基于socket进行端口转发实现后门隐藏的示例
2019/07/25 Python
Python drop方法删除列之inplace参数实例
2020/06/27 Python
Pycharm同步远程服务器调试的方法步骤
2020/11/04 Python
css3中背景尺寸background-size详解
2014/09/02 HTML / CSS
婴儿地球:Baby Earth
2018/12/25 全球购物
女孩每月服装订阅盒:kidpik
2019/04/17 全球购物
小学生学雷锋演讲稿
2014/04/25 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
python 实现体质指数BMI计算
2021/05/26 Python
用Python爬取英雄联盟的皮肤详细示例
2021/12/06 Python