微信小程序实现的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 相关文章推荐
推荐:极酷右键菜单
Nov 29 Javascript
js 替换
Feb 19 Javascript
根据对象的某一属性进行排序的js代码(如:name,age)
Aug 10 Javascript
javascript动态改变img的src属性图片不显示的解决方法
Oct 20 Javascript
IE6下出现JavaScript未结束的字符串常量错误的解决方法
Nov 21 Javascript
javascript scrollTop正解使用方法
Nov 14 Javascript
jQuery中:hidden选择器用法实例
Dec 30 Javascript
详解JavaScript中js对象与JSON格式字符串的相互转换
Feb 14 Javascript
vue实现类似淘宝商品评价页面星级评价及上传多张图片功能
Oct 29 Javascript
小程序实现短信登录倒计时
Jul 12 Javascript
vue全屏事件开发详解
Jun 17 Javascript
JS实现可控制的进度条
Mar 25 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 从数据库提取二进制图片的处理代码
2009/09/09 PHP
分享一段PHP制作的中文拼音首字母工具类
2014/12/11 PHP
Thinkphp3.2.3分页使用实例解析
2016/07/28 PHP
php反射学习之不用new方法实例化类操作示例
2019/06/14 PHP
js Flash插入函数免激活代码
2009/03/31 Javascript
jQuery UI AutoComplete 使用说明
2011/06/20 Javascript
工作需要写的一个js拖拽组件
2011/07/28 Javascript
js清除input中type等于file的值域(示例代码)
2013/12/24 Javascript
JavaScript实现同一页面内两个表单互相传值的方法
2015/08/12 Javascript
手机端转盘抽奖代码分享
2015/09/10 Javascript
详解Bootstrap四种图片样式
2016/01/04 Javascript
BootStrap点击下拉菜单项后显示一个新的输入框实现代码
2016/05/16 Javascript
jQuery实现checkbox列表的全选、反选功能
2016/11/24 Javascript
微信小程序 生命周期和页面的生命周期详细介绍
2017/01/19 Javascript
Javascript中字符串和数字的操作方法整理
2017/01/22 Javascript
JS使用ActiveXObject实现用户提交表单时屏蔽敏感词功能
2017/06/20 Javascript
jQuery中ajax获取数据赋值给页面的实例
2017/12/31 jQuery
在 React、Vue项目中使用SVG的方法
2018/02/09 Javascript
jQuery发请求传输中文参数乱码问题的解决方案
2018/05/22 jQuery
深入剖析JavaScript instanceof 运算符
2019/06/14 Javascript
Elementui表格组件+sortablejs实现行拖拽排序的示例代码
2019/08/28 Javascript
如何在面试中手写出javascript节流和防抖函数
2020/10/22 Javascript
举例介绍Python中的25个隐藏特性
2015/03/30 Python
如何运行带参数的python脚本
2019/11/15 Python
Under Armour安德玛荷兰官网:美国高端运动科技品牌
2019/07/10 全球购物
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
澳大利亚头发和美容产品购物网站:OZ Hair & Beauty
2020/03/27 全球购物
小学生手册家长评语
2014/04/16 职场文书
店铺转让协议书(2014版)
2014/09/23 职场文书
绵山导游词
2015/02/05 职场文书
致运动员的广播稿
2015/08/19 职场文书
校园安全学习心得体会
2016/01/18 职场文书
2016年小学感恩节活动总结
2016/04/01 职场文书
Nginx域名转发https访问的实现
2021/03/31 Servers
python中mongodb包操作数据库
2022/04/19 Python
SQLServer常见数学函数梳理总结
2022/08/05 MySQL