微信小程序实现的3d轮播图效果示例【基于swiper组件】


Posted in Javascript onDecember 11, 2018

本文实例讲述了微信小程序实现的3d轮播图效果。分享给大家供大家参考,具体如下:

前面写过一篇3d轮播,就是这篇,使用的方法比较笨拙,而且代码不简洁。这次发现swiper也能实现同样的效果。故记录一下。

先看看效果:

微信小程序实现的3d轮播图效果示例【基于swiper组件】

wxml:

<swiper previous-margin='50px' next-margin='50px' bindchange="swiperChange" style='height:{{swiperH}};'>
  <swiper-item wx:for='{{imgList}}' wx:key=''>
    <image class='le-img {{nowIdx==index?"le-active":""}}' bindload='getHeight' src='{{item}}' style='height:{{swiperH}};'></image>
  </swiper-item>
</swiper>

(1) previous-marginnext-margin 表示前边距和后边距,官网文档有说明的。

(2) swiperChange 就是swiper的切换事件名

(3) style='height:{{swiperH}}'  这是等比设置swiper高度,因为swiper有固定的高度,所以要动态修改一下。这篇文章也有类似的做法

(4) getHeight 是获取图片的宽高,然后再去设置高度这样才能让图片等比缩放

wxss:

swiper {
 padding-top: 30px;
}
.le-img {
 width: 100%;
 display: block;
 transform: scale(0.8);
 transition: all 0.3s ease;
 border-radius: 6px;
}
.le-img.le-active {
 transform: scale(1);
}

(1) 最主要的就是scale这个属性了,有了这个属性才能有第二张图片缩放的效果。

js:

data: {
  swiperH:'',//swiper高度
  nowIdx:0,//当前swiper索引
  imgList:[//图片列表
    "/public/img/idx-ad.png",
    "/public/img/idx-ad.png",
    "/public/img/idx-ad.png",
  ]
},
//获取swiper高度
getHeight:function(e){
  var winWid = wx.getSystemInfoSync().windowWidth - 2*50;//获取当前屏幕的宽度
  var imgh = e.detail.height;//图片高度
  var imgw = e.detail.width;
  var sH = winWid * imgh / imgw + "px"
  this.setData({
    swiperH: sH//设置高度
  })
},
//swiper滑动事件
swiperChange:function(e){
  this.setData({
    nowIdx: e.detail.current
  })
},

就这些简单的代码就完成啦 ^_^

希望本文所述对大家微信小程序开发有所帮助。

Javascript 相关文章推荐
ymPrompt的doHandler方法来实现获取子窗口返回值的方法
Jun 25 Javascript
jQuery插件实现表格隔行换色且感应鼠标高亮行变色
Sep 22 Javascript
JavaScript中对象属性的添加和删除示例
May 12 Javascript
jQuery删除一个元素后淡出效果展示删除过程的方法
Mar 18 Javascript
AngularJS在IE下取数据总是缓存问题的解决方法
Aug 05 Javascript
微信小程序搜索组件wxSearch实例详解
Jun 08 Javascript
JS装饰器函数用法总结
Apr 21 Javascript
使用JS判断页面是首次被加载还是刷新
May 26 Javascript
Vue的data、computed、watch源码浅谈
Apr 04 Javascript
JS中间件设计模式的深入探讨与实例分析
Apr 11 Javascript
微信小程序图片右边加两行文字的代码
Apr 23 Javascript
浅析JavaScript 函数柯里化
Sep 08 Javascript
vue-cli 3.0 版本与3.0以下版本在搭建项目时的区别详解
Dec 11 #Javascript
微信小程序非swiper组件实现的自定义伪3D轮播图效果示例
Dec 11 #Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
Dec 11 #Javascript
jQuery实现点击旋转,再点击恢复初始状态动画效果示例
Dec 11 #jQuery
如何让node运行es6模块文件及其原理详解
Dec 11 #Javascript
jQuery实现的模仿雨滴下落动画效果
Dec 11 #jQuery
详解react阻止无效重渲染的多种方式
Dec 11 #Javascript
You might like
Discuz 模板引擎的封装类代码
2008/07/18 PHP
PHP 超链接 抓取实现代码
2009/06/29 PHP
php中计算中文字符串长度、截取中文字符串的函数代码
2011/08/09 PHP
用Php编写注册后Email激活验证的实例代码
2013/03/11 PHP
PHP基础之输出缓冲区基本概念、原理分析
2019/06/19 PHP
phpinfo的知识点总结
2019/10/10 PHP
IE6不能修改NAME问题的解决方法
2010/09/03 Javascript
在JavaScript中获取请求的URL参数[正则]
2010/12/25 Javascript
jquery 表格的增行删行实现思路
2013/03/21 Javascript
jQuery读取和设定KindEditor值的方法
2013/11/22 Javascript
jQuery实现提示密码强度的代码
2015/07/15 Javascript
JavaScript实现动态删除列表框值的方法
2015/08/12 Javascript
JQuery中attr属性和jQuery.data()学习笔记【必看】
2016/05/18 Javascript
jQueryUI DatePicker 添加时分秒
2016/06/04 Javascript
Vue-resource拦截器判断token失效跳转的实例
2017/10/27 Javascript
前端开发之便利店收银系统代码
2019/12/27 Javascript
[06:45]DOTA2-DPC中国联赛 正赛 Magma vs LBZS 选手采访
2021/03/11 DOTA
python 统计列表中不同元素的数量方法
2018/06/29 Python
Python实现京东秒杀功能代码
2019/05/16 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
python基于json文件实现的gearman任务自动重启代码实例
2019/08/13 Python
pytorch:实现简单的GAN示例(MNIST数据集)
2020/01/10 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Html5大文件断点续传实现方法
2015/12/05 HTML / CSS
美国最大的珠宝商之一:Littman Jewelers
2016/11/13 全球购物
LVMH旗下最大的奢侈品网站平台:24S
2020/05/24 全球购物
国际政治个人自荐信范文
2013/11/26 职场文书
最新的咖啡店创业计划书
2013/12/30 职场文书
中国梦的演讲稿
2014/01/08 职场文书
财务信息服务专业自荐书范文
2014/02/08 职场文书
森马旗舰店双十一营销方案
2014/09/29 职场文书
中学生自我评价2015
2015/03/03 职场文书
学校德育工作总结2015
2015/05/11 职场文书
日本读研:怎样写好一篇日本研究计划书?
2019/07/15 职场文书
vue实力踩坑之push当前页无效
2022/04/10 Vue.js
详解Mysql事务并发(脏读、不可重复读、幻读)
2022/04/29 MySQL