微信小程序实现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 相关文章推荐
Javascript中的String对象详谈
Mar 03 Javascript
Extjs grid panel自带滚动条失效的解决方法
Sep 11 Javascript
jquery中show()、hide()和toggle()用法实例
Jan 15 Javascript
jQuery实现拖拽效果插件的方法
Mar 23 Javascript
原生JS实现响应式瀑布流布局
Apr 02 Javascript
深入理解JS addLoadEvent函数
May 20 Javascript
一步一步封装自己的HtmlHelper组件BootstrapHelper(三)
Sep 14 Javascript
详解用函数式编程对JavaScript进行断舍离
Sep 18 Javascript
JavaScript比较同一天的时间大小实例代码
Feb 09 Javascript
详解如何用VUE写一个多用模态框组件模版
Sep 27 Javascript
Vue实现一个图片懒加载插件
Mar 11 Javascript
原生JS运动实现轮播图
Jan 02 Javascript
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
PHP一些有意思的小区别
2006/12/06 PHP
php+ajax制作无刷新留言板
2015/10/27 PHP
基于php判断客户端类型
2016/10/14 PHP
Yii框架中sphinx索引配置方法解析
2016/10/18 PHP
一个实用的php验证码类
2017/07/06 PHP
Django中的cookie与session操作实例代码
2017/08/17 PHP
PHP实现的mysql操作类【MySQL与MySQLi方式】
2017/10/07 PHP
PHP实现的一致性Hash算法详解【分布式算法】
2018/03/31 PHP
Centos7.7 64位利用本地完整安装包安装lnmp/lamp套件教程
2021/03/09 Servers
基于jquery的无刷新分页技术
2011/06/11 Javascript
javascript 事件处理、鼠标拖动效果实现方法详解
2012/05/11 Javascript
高性能JavaScript循环语句和条件语句
2016/01/20 Javascript
使用JS批量选中功能实现更改数据库中的status状态值(批量展示)
2016/11/22 Javascript
Vue.JS入门教程之处理表单
2016/12/01 Javascript
jQuery Validation Engine验证控件调用外部函数验证的方法
2017/01/18 Javascript
Vue中的ref作用详解(实现DOM的联动操作)
2017/08/21 Javascript
Vue组件中slot的用法
2018/01/30 Javascript
angular5 httpclient的示例实战
2018/03/12 Javascript
小程序实现搜索框功能
2020/03/26 Javascript
ES6 Object.assign()的用法及其使用
2020/01/18 Javascript
[00:35]DOTA2上海特级锦标赛 EG战队宣传片
2016/03/04 DOTA
[01:15:12]DOTA2上海特级锦标赛主赛事日 - 1 败者组第一轮#4Newbee VS CDEC
2016/03/03 DOTA
Python 深入理解yield
2008/09/06 Python
Python使用poplib模块和smtplib模块收发电子邮件的教程
2016/07/02 Python
Python属性和内建属性实例解析
2020/01/14 Python
Python基于Twilio及腾讯云实现国际国内短信接口
2020/06/18 Python
Python中qutip用法示例详解
2020/10/02 Python
python 爬取小说并下载的示例
2020/12/07 Python
HTML5仿手机微信聊天界面
2016/03/18 HTML / CSS
入党积极分子思想汇报范文
2014/01/05 职场文书
总经理助理岗位职责范本
2014/07/20 职场文书
警察群众路线整改措施
2014/09/26 职场文书
运动与健康自我评价
2015/03/09 职场文书
2015年乡镇信访工作总结
2015/04/07 职场文书
Java中CyclicBarrier和CountDownLatch的用法与区别
2021/08/23 Java/Android
Vue深入理解插槽slot的使用
2022/08/05 Vue.js