微信小程序实现的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 相关文章推荐
一个无限级XML绑定跨框架菜单(For IE)
Jan 27 Javascript
让IE6支持min-width和max-width的方法
Jun 25 Javascript
取得窗口大小 兼容所有浏览器的js代码
Aug 09 Javascript
常用一些Javascript判断函数
Aug 14 Javascript
使用javascipt---实现二分查找法
Apr 10 Javascript
利用JS对iframe父子(内外)页面进行操作的方法教程
Jun 15 Javascript
浅谈angular2路由预加载策略
Oct 04 Javascript
vue实现微信获取用户信息的方法
Mar 21 Javascript
少女风vue组件库的制作全过程
May 15 Javascript
layui2.0使用table+laypage实现真分页
Jul 27 Javascript
微信小程序iOS下拉白屏晃动问题解决方案
Oct 12 Javascript
javascript绘制简单钟表效果
Apr 07 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
php获取网站百度快照日期的方法
2015/07/29 PHP
Fleaphp常见函数功能与用法示例
2016/11/15 PHP
调用js时ie6和ie7,ff的区别
2009/08/19 Javascript
jquery动态添加元素事件失效问题解决方法
2014/05/23 Javascript
老生常谈JavaScript数组的用法
2016/06/10 Javascript
浅谈Vue.js
2017/03/02 Javascript
详解Node.js开发中的express-session
2017/05/19 Javascript
JavaScript比较同一天的时间大小实例代码
2018/02/09 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
vue组件之间的数据传递方法详解
2019/04/19 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
react组件基本用法示例小结
2020/04/27 Javascript
vue基础知识--axios合并请求和slot
2020/06/04 Javascript
JavaScrip如果基于url实现图片下载
2020/07/03 Javascript
使用Python编写一个模仿CPU工作的程序
2015/04/16 Python
Python中的一些陷阱与技巧小结
2015/07/10 Python
详解django三种文件下载方式
2018/04/06 Python
Window环境下Scrapy开发环境搭建
2018/11/18 Python
python进程间通信Queue工作过程详解
2019/11/01 Python
Python三元运算与lambda表达式实例解析
2019/11/30 Python
浅谈python 中的 type(), dtype(), astype()的区别
2020/04/09 Python
Python操控mysql批量插入数据的实现方法
2020/10/27 Python
python 如何引入协程和原理分析
2020/11/30 Python
利用CSS3实现自定义滚动条代码分享
2016/08/18 HTML / CSS
世界上最大的家庭自动化公司:Smarthome
2017/12/20 全球购物
业绩考核岗位职责
2014/02/01 职场文书
置业顾问岗位职责
2014/03/02 职场文书
教师求职自荐信
2014/03/09 职场文书
演讲主持词
2014/03/18 职场文书
家长评语怎么写
2014/12/30 职场文书
酒店前台岗位职责
2015/04/16 职场文书
2015年医院护理部工作总结
2015/04/23 职场文书
2015年语文教研组工作总结
2015/05/23 职场文书
高中生综合素质评价范文
2015/08/18 职场文书
《家庭教育》读后感3篇
2019/12/18 职场文书
CSS中妙用 drop-shadow 实现线条光影效果
2021/11/11 HTML / CSS