微信小程序实现的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 相关文章推荐
写了10年的Javascript也未必全了解的连续赋值运算
Mar 25 Javascript
javascript获取选中的文本的方法代码
Oct 30 Javascript
JavaScript cookie的设置获取删除详解
Feb 11 Javascript
浅谈jQuery中对象遍历.eq().first().last().slice()方法
Nov 26 Javascript
javascript实现详细时间提醒信息效果的方法
Mar 11 Javascript
jquery衣服颜色选取插件效果代码分享
Aug 28 Javascript
javascript断点调试心得分享
Apr 23 Javascript
gulp-uglify 与gulp.watch()配合使用时报错(重复压缩问题)
Aug 24 Javascript
详细讲解vue2+vuex+axios
May 27 Javascript
浅析Vue项目中使用keep-Alive步骤
Jul 27 Javascript
antd-mobile ListView长列表的数据更新遇到的坑
Apr 08 Javascript
uniapp实现横向滚动选择日期
Oct 21 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入门学习知识点四 PHP正则表达式基本应用
2011/07/14 PHP
php实现的短网址算法分享
2014/06/20 PHP
PHP针对常规模板引擎中与CSS/JSON冲突的解决方法
2014/08/19 PHP
图文详解PHP环境搭建教程
2016/07/16 PHP
Yii2框架操作数据库的方法分析【以mysql为例】
2019/05/27 PHP
Gird组件 Part-3:范例RSSFeed Viewer
2007/03/10 Javascript
Javascript根据指定下标或对象删除数组元素
2012/12/21 Javascript
jQuery select表单提交省市区城市三级联动核心代码
2014/06/09 Javascript
使用jQuery实现返回顶部
2015/01/26 Javascript
javascript数组去重小结
2016/03/07 Javascript
JS和jQuery使用submit方法无法提交表单的原因分析及解决办法
2016/05/17 Javascript
AngularJS 自定义过滤器详解及实例代码
2016/09/14 Javascript
简单理解js的冒泡排序
2016/12/19 Javascript
利用ES6语法重构React组件详解
2017/03/02 Javascript
JS文件/图片从电脑里面拖拽到浏览器上传文件/图片
2017/03/08 Javascript
详解nodejs操作mongodb数据库封装DB类
2017/04/10 NodeJs
angularjs $http实现form表单提交示例
2017/06/09 Javascript
vue.js或js实现中文A-Z排序的方法
2018/03/08 Javascript
vue做移动端适配最佳解决方案(亲测有效)
2018/09/04 Javascript
BootStrap中的模态框(modal,弹出层)功能示例代码
2018/11/02 Javascript
详解如何使用React Hooks请求数据并渲染
2020/10/18 Javascript
Vue看了就会的8个小技巧
2021/01/21 Vue.js
Python模块搜索概念介绍及模块安装方法介绍
2015/06/03 Python
Python爬虫_城市公交、地铁站点和线路数据采集实例
2018/01/10 Python
python正则实现提取电话功能
2018/02/24 Python
在mac下查找python包存放路径site-packages的实现方法
2018/11/06 Python
python的继承知识点总结
2018/12/10 Python
python调用函数、类和文件操作简单实例总结
2019/11/29 Python
使用Python构造hive insert语句说明
2020/06/06 Python
2014年党员自我剖析材料
2014/10/07 职场文书
2014年个人业务工作总结
2014/11/17 职场文书
紧急迫降观后感
2015/06/15 职场文书
适合后台管理系统开发的12个前端框架(小结)
2021/06/29 Javascript
SpringMVC 整合SSM框架详解
2021/08/30 Java/Android
python 判断文件或文件夹是否存在
2022/03/18 Python
20180830晚上第一届KSL半决赛 雨神vs解冻(二龙 三炮解说)
2022/04/01 星际争霸