微信小程序实现的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 相关文章推荐
javascript转换字符串为dom对象(字符串动态创建dom)
May 10 Javascript
jQuery实现图片放大预览实现原理及代码
Sep 12 Javascript
14款经典网页图片和文字特效的jQuery插件-前端开发必备
Aug 25 Javascript
Angular ui.bootstrap.pagination分页
Jan 20 Javascript
JS实现商品筛选功能
Aug 19 Javascript
使用OPENLAYERS3实现点选的方法
Sep 24 Javascript
Vue自定义过滤器格式化数字三位加一逗号实现代码
Mar 23 Javascript
Node.js net模块功能及事件监听用法分析
Jan 05 Javascript
js JSON.stringify()基础详解
Jun 19 Javascript
微信小程序自定义波浪组件使用方法详解
Sep 21 Javascript
vue中使用百度脑图kityminder-core二次开发的实现
Sep 26 Javascript
javscript 数组扁平化的实现
Feb 03 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查询域名状态whois的类
2006/11/25 PHP
php google或baidu分页代码
2009/11/26 PHP
排序算法之PHP版快速排序、冒泡排序
2014/04/09 PHP
自定义Laravel (monolog)日志位置,并增加请求ID的实现
2019/10/17 PHP
jQuery1.4.2与老版本json格式兼容的解决方法
2011/02/12 Javascript
使用JavaScript动态设置样式实现代码及演示动画
2013/01/25 Javascript
JavaScript中setAttribute用法介绍
2013/07/20 Javascript
html页面显示年月日时分秒和星期几的两种方式
2013/08/20 Javascript
jQuery 遍历函数详解
2015/07/05 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
jquery validate demo 基础
2015/10/29 Javascript
一句jQuery代码实现返回顶部效果(简单实用)
2016/12/28 Javascript
基于Node的React图片上传组件实现实例代码
2017/05/10 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
vue-cli随机生成port源码的方法
2019/09/02 Javascript
在node环境下parse Smarty模板的使用示例代码
2019/11/15 Javascript
vue 导航锚点_点击平滑滚动,导航栏对应变化详解
2020/08/10 Javascript
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
python 中文乱码问题深入分析
2011/03/13 Python
python基础入门详解(文件输入/输出 内建类型 字典操作使用方法)
2013/12/08 Python
深入理解python多进程编程
2016/06/12 Python
Python操作Access数据库基本步骤分析
2016/09/19 Python
Python2随机数列生成器简单实例
2017/09/04 Python
python selenium 弹出框处理的实现
2019/02/26 Python
Python3调用百度AI识别图片中的文字功能示例【测试可用】
2019/03/13 Python
简单了解pytest测试框架setup和tearDown
2020/04/14 Python
python实现简单的五子棋游戏
2020/09/01 Python
全网最全python库selenium自动化使用详细教程
2021/01/12 Python
css3实现的下拉菜单效果示例
2014/01/22 HTML / CSS
CSS Grid布局教程之浏览器开启CSS Grid Layout汇总
2014/12/30 HTML / CSS
西班牙最大的婴儿用品网上商店:Bebitus
2019/05/30 全球购物
什么是抽象
2015/12/13 面试题
大足石刻导游词
2015/02/02 职场文书
工作表现证明
2015/06/15 职场文书
2016三八妇女节慰问信
2015/11/30 职场文书
Android自定义scrollview实现回弹效果
2022/04/01 Java/Android