微信小程序实现的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 相关文章推荐
传递参数的标准方法(jQuery.ajax)
Nov 19 Javascript
javascript 从if else 到 switch case 再到抽象
Jul 17 Javascript
Angular Js文件上传之form-data
Aug 28 Javascript
jQuery.trim() 函数及trim()用法详解
Oct 26 Javascript
解决bootstrap导航栏navbar在IE8上存在缺陷的方法
Jul 01 Javascript
javascript实现简易计算器
Feb 01 Javascript
angularjs中$http异步上传Excel文件方法
Feb 23 Javascript
vue--点击当前增加class,其他删除class的方法
Sep 15 Javascript
vue主动刷新页面及列表数据删除后的刷新实例
Sep 16 Javascript
了解JavaScript中的选择器
May 24 Javascript
layui上传图片到服务器的非项目目录下的方法
Sep 26 Javascript
安装多版本Vue-CLI的实现方法
Mar 24 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
探讨GDFONTPATH能否被winxp下的php支持
2013/06/21 PHP
PHP函数之日期时间函数date()使用详解
2013/09/09 PHP
PHP中echo和print的区别
2014/08/28 PHP
通过php添加xml文档内容的方法
2015/01/23 PHP
php基于curl重写file_get_contents函数实例
2016/11/08 PHP
kindeditor 加入七牛云上传的实例讲解
2017/11/12 PHP
javascript使用中为什么10..toString()正常而10.toString()出错呢
2013/01/11 Javascript
使用jquery hover事件实现表格的隔行换色功能示例
2013/09/03 Javascript
JavaScript自定义方法实现trim()、Ltrim()、Rtrim()的功能
2013/11/03 Javascript
jQuery DOM插入节点操作指南
2015/03/03 Javascript
浅谈下拉菜单中的Option对象
2015/05/10 Javascript
jQuery简单实现仿京东商城的左侧菜单效果代码
2015/09/09 Javascript
JavaScript学习笔记之数组随机排序
2016/03/23 Javascript
JS 动态判断PC和手机浏览器实现代码
2016/09/21 Javascript
详解JavaScript时间处理之几个月前或几个月后的指定日期
2016/12/21 Javascript
基于jQuery实现顶部导航栏功能
2016/12/27 Javascript
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
Vue.js+Layer表格数据绑定与实现更新的实例
2018/03/07 Javascript
Vue手把手教你撸一个 beforeEnter 钩子函数
2018/04/24 Javascript
快速解决layui弹窗按enter键不停弹窗的问题
2019/09/18 Javascript
详解Python中的各种函数的使用
2015/05/24 Python
Python实现求一个集合所有子集的示例
2018/05/04 Python
python OpenCV GrabCut使用实例解析
2019/11/11 Python
Django实现从数据库中获取到的数据转换为dict
2020/03/27 Python
matplotlib grid()设置网格线外观的实现
2021/02/22 Python
德国综合购物网站:OTTO
2018/11/13 全球购物
澳大利亚婴儿、幼儿和儿童在线设计师商店:Smooch Baby
2019/02/16 全球购物
加州风格的游泳和沙滩装品牌:Cupshe
2019/06/10 全球购物
质检部岗位职责
2013/11/11 职场文书
职业技术学校毕业生推荐信
2013/12/03 职场文书
党员个人剖析材料(四风问题)
2014/10/07 职场文书
大学生实习推荐信
2015/03/27 职场文书
初任公务员培训心得体会
2016/01/08 职场文书
JS Object构造函数之Object.freeze
2021/04/28 Javascript
vue postcss-px2rem 自适应布局
2022/05/15 Vue.js
MySQL count(*)统计总数问题汇总
2022/09/23 MySQL