微信小程序实现的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 相关文章推荐
GWT中复制到剪贴板 js+flash实现复制 兼容性比较好
Mar 07 Javascript
Node.js:Windows7下搭建的Node.js服务(来玩玩服务器端的javascript吧,这可不是前端js插件)
Jun 27 Javascript
jquery动态添加删除div 具体实现
Jul 20 Javascript
angularJS 中$attrs方法使用指南
Feb 09 Javascript
JavaScript中pop()方法的使用教程
Jun 09 Javascript
基于JavaScript如何实现私有成员的语法特征及私有成员的实现方式
Oct 28 Javascript
微信小程序request出现400的问题解决办法
May 23 Javascript
JavaScript+H5实现微信摇一摇功能
May 23 Javascript
js中Array对象的常用遍历方法详解
Jan 17 Javascript
uni-app如何页面传参数的几种方法总结
Apr 28 Javascript
Antd的Table组件嵌套Table以及选择框联动操作
Oct 24 Javascript
antd design table更改某行数据的样式操作
Oct 31 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/03/10 PHP
PHP和Mysqlweb应用开发核心技术 第1部分 Php基础-3 代码组织和重用2
2011/07/03 PHP
PHP面向对象多态性实现方法简单示例
2017/09/27 PHP
PHP通过get方法获得form表单数据方法总结
2018/09/12 PHP
php中yar框架实例用法讲解
2020/12/27 PHP
js parseInt(&quot;08&quot;)未指定进位制问题
2010/06/19 Javascript
Jquery实现简单的动画效果代码
2012/03/18 Javascript
原始XMLHttpRequest方法详情回顾
2013/11/28 Javascript
如何正确使用Nodejs 的 c++ module 链接到 OpenSSL
2014/08/03 NodeJs
jQuery内部原理和实现方式浅析
2015/02/03 Javascript
使用AngularJS实现可伸缩的页面切换的方法
2015/06/19 Javascript
jQuery Validate验证框架经典大全
2015/09/23 Javascript
JS实现新浪微博效果带遮罩层的弹出框代码
2015/10/12 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
js多功能分页组件layPage使用方法详解
2016/05/19 Javascript
jquery实现拖动效果(代码分享)
2017/01/25 Javascript
webpack学习教程之前端性能优化总结
2017/12/05 Javascript
详解从买域名到使用pm2部署node.js项目全过程
2018/03/07 Javascript
微信小程序中使用ECharts 异步加载数据的方法
2018/06/27 Javascript
JSONP原理及应用实例详解
2018/09/13 Javascript
在vue-cli的组件模板里使用font-awesome的两种方法
2018/09/28 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
vue实现图片上传预览功能
2019/12/23 Javascript
JS实现打砖块游戏
2020/02/14 Javascript
python根据京东商品url获取产品价格
2015/08/09 Python
Python操作SQLite数据库的方法详解
2017/06/16 Python
python处理csv中的空值方法
2018/06/22 Python
使用python判断你是青少年还是老年人
2018/11/29 Python
Django 自定义分页器的实现代码
2019/11/24 Python
ManoMano英国:欧洲第一家专注于DIY和园艺市场的电商平台
2020/03/12 全球购物
铭万公司.net面试题笔试题
2014/07/20 面试题
2015年见习期工作总结
2014/12/12 职场文书
2016感恩母亲节校园广播稿
2015/12/17 职场文书
阿里云服务器搭建Php+Apache运行环境的详细过程
2021/05/15 PHP
Go gRPC进阶教程gRPC转换HTTP
2022/06/16 Golang
详解CSS中postion和opacity及cursor的特性
2022/08/14 HTML / CSS