微信小程序实现的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 火狐(firefox)不显示本地图片问题解决
Jul 05 Javascript
Js 本页面传值实现代码
May 17 Javascript
js获取IP和PcName(IE)在vs中可用
Aug 02 Javascript
JS cookie中文乱码解决方法
Jan 28 Javascript
jQuery简单入门示例之用户校验demo示例
Jul 09 Javascript
浅谈Javascript数据属性与访问器属性
Jul 26 Javascript
js 倒计时(高效率服务器时间同步)
Sep 12 Javascript
jQuery读取本地的json文件(实例讲解)
Oct 31 jQuery
react项目实践之webpack-dev-serve
Sep 14 Javascript
bootstrap-table formatter 使用vue组件的方法
May 09 Javascript
你了解vue3.0响应式数据怎么实现吗
Jun 07 Javascript
微信公众号生成新浪短网址的实现(快速生成)
Aug 18 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分页集合包括使用方法
2013/10/21 PHP
Laravel实现自定义错误输出内容的方法
2016/10/10 PHP
定时器(setTimeout/setInterval)调用带参函数失效解决方法
2013/03/26 Javascript
JS复制内容到剪切板的实例代码(兼容IE与火狐)
2013/11/19 Javascript
javascript中mouseover、mouseout使用详解
2015/07/19 Javascript
JS查找字符串中出现最多的字符及个数统计
2017/02/04 Javascript
JavaScript数据结构之链表的实现
2017/03/19 Javascript
详解JS中的this、apply、call、bind(经典面试题)
2017/09/19 Javascript
利用10行js代码实现上下滚动公告效果
2017/12/08 Javascript
vue富文本框(插入文本、图片、视频)的使用及问题小结
2018/08/17 Javascript
Javascript实现动态时钟效果
2018/11/17 Javascript
微信小程序时间轴实现方法示例
2019/01/14 Javascript
深入探讨JavaScript的最基本部分之执行上下文
2019/02/12 Javascript
手把手带你封装一个vue component第三方库
2019/02/14 Javascript
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
layui 地区三级联动 form select 渲染的实例
2019/09/27 Javascript
Vue-Cli项目优化操作的实现
2019/10/27 Javascript
Vue 实现把表单form数据 转化成json格式的数据
2019/10/29 Javascript
基于wxpython开发的简单gui计算器实例
2015/05/30 Python
Python的爬虫框架scrapy用21行代码写一个爬虫
2017/04/24 Python
python实现内存监控系统
2021/03/07 Python
python实现将多个文件分配到多个文件夹的方法
2019/01/07 Python
详解用python计算阶乘的几种方法
2019/08/14 Python
ubuntu 18.04 安装opencv3.4.5的教程(图解)
2019/11/04 Python
详解Python中的format格式化函数的使用方法
2019/11/20 Python
如何使用python切换hosts文件
2020/04/29 Python
全球速卖通法国在线交易平台:AliExpress法国
2017/07/07 全球购物
Rakuten Kobo台湾:电子书、eReaders和Reading应用程式
2017/11/24 全球购物
数学专业推荐信范文
2013/11/21 职场文书
宝宝满月酒主持词和仪式流程
2014/03/27 职场文书
赔偿协议书范本
2014/04/15 职场文书
2015年主婚人婚礼致辞
2015/07/28 职场文书
教师纪律作风整顿心得体会
2016/01/23 职场文书
vue3使用vue-router的完整步骤记录
2021/06/20 Vue.js
Java使用Unsafe类的示例详解
2021/09/25 Java/Android
Spring Boot实战解决高并发数据入库之 Redis 缓存+MySQL 批量入库问题
2022/02/12 Redis