官网地址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html

index.wxml文件

  1. indicator-dots:是否显示面板指示点
  1. autoplay:是否自动切换
  1. interval:自动切换时间间隔
  1. circular:是否采用衔接滑动
  1. duration:滑动动画时长
  2.  
  3. 更多属性请查看官网
  1. <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" circular="{{circular}}" duration="{{duration}}" class='hlzbsp'>
  2. <block wx:for="{{phonelist}}" wx:for-item="item" wx:for-index="idx">
  3. <swiper-item>
  4. <image src="{{item.phoneurl}}" style='position: absolute;width:{{item.phoneWidth}}rpx; height:{{item.phoneheight}}rpx; top:{{item.top}}rpx; left: {{item.left}} rpx;' mode="aspectFit"></image>
  5. </swiper-item>
  6. </block>
  7. </swiper>

mode:图片缩放方式,如果不设置改属性,样式可能失效

mode相关属性官网:https://developers.weixin.qq.com/miniprogram/dev/component/image.html

index.js文件

  1. const app = getApp()
  2. Page({
  3.   data: {
  4. phonelist:[], //轮播图片列表
  5. indicatorDots: true,//是否显示面板指示点
  6. autoplay: true,//是否自动切换
  7. circular:true,//是否采用衔接滑动
  8. interval: 3000,//自动切换时间间隔
  9. duration: 1000,//滑动动画时长
  10. },
  11.  
  12. phone:function(){
  13. //这里采用动态获取照片
  14. wx.request({
  15. url: '后台访问地址',
  16. header: {
  17. //设置参数内容类型为x-www-form-urlencoded
  18. 'content-type': 'application/x-www-form-urlencoded'
  19. },
  20. method: 'GET',
  21. success: function (res) {
  22. var list=[];//定义临时数组
  23. var phonecomment={};//定义临时对象
  24. //res.data.data.lsit是从后台拿到的数据,可根据后台传参获取 格式:[{id:1,photoDetails:aaa.jsp},{id:2,photoDetails:bbb.jsp},{id:3,photoDetails:ccc.jsp}]
  25. if (res.data.data.lsit.length>0){
  26. for (var i = 0; i < res.data.data.lsit.length; i++) {
  27. phonecomment={};//将临时对象赋值空
  28. phonecomment.phoneurl = res.data.data.lsit[i].photoDetails;//保存图片地址
           //官方接口 获取图片信息
  29. wx.getImageInfo({
  30. src: res.data.data.lsit[i].photoDetails,//图片地址
  31. success: function (phone) {
  32. var originalWidth = phone.width;//返回该图片的宽
  33. var originalHeight = phone.height;//返回该图片的高
  34.  
  35. var minwidth =670 /originalWidth;//670为轮播框的宽,670/originalWidth 是轮播框宽与图片宽比例
  36. var minheight = 380 / originalHeight;//380为轮播框的高 380/originalHeight 是轮播框高与图片高比例
  37. if (minwidth >= minheight){
  38. phonecomment.phoneheight = originalHeight * minheight;//图片需要设置的高
  39. phonecomment.phoneWidth = originalWidth * minheight;//图片需要设置的宽
  40. phonecomment.top = (380 - originalHeight * minheight) / 2;//图片距离轮播框顶部的距离
  41. phonecomment.left = (670 - originalWidth * minheight) / 2;//图片距离轮播框左边的距离
  42. //phonecomment.top phonecomment.left作用:图片居中
  43. }else{
  44. phonecomment.phoneheight = originalHeight * minwidth;
  45. phonecomment.phoneWidth =originalWidth * minwidth;
  46. phonecomment.top = (380 - originalHeight * minwidth) / 2;
  47. phonecomment.left=(670 - originalWidth * minwidth) / 2;
  48. }
  49. },
  50. fail: function (res) {
  51. console.log("获取图片高宽失败");
  52. },
  53. })
  54. list.push(phonecomment);//将临时对象存放到临时数组中
  55.  
  56. }
  57. console.log(list);
  58. that.setData({
  59. phonelist: list //赋值
  60. });
  61.  
  62. console.log(list);
  63. }else{
  64. console.log("暂无轮播图片");
  65. }
  66.  
  67. }
  68. })
  69.  
  70. }
  71.  
  72. })

微信小程序轮播图组件 swiper,swiper-item及轮播图片自适应的更多相关文章

  1. 图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作

    图解微信小程序---添加tabBar底部菜单,添加已做好轮播图操作 什么是tabBar? 顶部或者底部tab栏如果小程序是一个多 tab 应用(客户端窗口的底部或顶部有 tab 栏可以切换页面),可以 ...

  2. reactjs-swiper react轮播图组件基于swiper

    react轮播图组件基于swiper demo地址:http://reactjs-ui.github.io/reactjs-swiper/simple.html 1. 下载安装 npm install ...

  3. [小程序开发] 微信小程序audio音频播放组件+api_wx.createAudioContext

    引言: audio是微信小程序中的音频组件,可以轻松实现小程序中播放/停止音频等自定义动作. 附上微信小程序audio组件的相关属性说明:https://mp.weixin.qq.com/debug/ ...

  4. 微信小程序中-折线图

    echarts配置项太多了,还是一点点积累吧~~~~~ 当然前提条件还是得老老实实看echarts官方文档 :https://echarts.baidu.com/ 今天主要就介绍下我在工作中通过ech ...

  5. 微信小程序绘制分享图

    微信小程序绘制分享图例子: demo下载地址:https://gitee.com/v-Xie/wxCanvasShar 大致代码会再以下说明 实际开发项目: 基础知识点: 了解canvas基础知识 w ...

  6. 微信小程序页面调用自定义组件内的事件

    微信小程序页面调用自定义组件内的事件 page page.json { "usingComponents": { "my-component": ". ...

  7. 微信小程序(二十)-UI组件(Vant Weapp)-01按装配置

    1.官网 https://vant-contrib.gitee.io/vant-weapp/#/intro https://gitee.com/vant-contrib/vant-weapp 2.按装 ...

  8. 微信小程序 基本介绍及组件

    创建项目 微信开发工具深入介绍 https://developers.weixin.qq.com/miniprogram/dev/devtools/devtools.html 基本项目目录 1. 配置 ...

  9. 微信小程序开发—快速掌握组件及API的方法

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

  10. 微信小程序开发—快速掌握组件及API的方法---转载

    微信小程序框架为开发者提供了一系列的组件和API接口. 组件主要完成小程序的视图部分,例如文字.图片显示.API主要完成逻辑功能,例如网络请求.数据存储.音视频播放控制,以及微信开放的微信登录.微信支 ...

随机推荐

  1. 10张思维导图带你学习Java​Script

    10张思维导图带你学习Java​Script   下面将po出10张JavaScript相关的思维导图. 分别归类为: JavaScript变量 JavaScript运算符 JavaScript数组 ...

  2. 【原创】Linux基础之挂载硬盘

    1 查看哪些硬盘没有挂载 # fdisk -l Disk /dev/vdb: 107.4 GB, 107374182400 bytes, 209715200 sectorsUnits = sector ...

  3. ARKit1.5 采坑

    1.对应的生成的预制体,0.1的大小按照Cube的实际大小进行缩放. Plane和Cube都是0.1的情况下是不一样的大小的.

  4. pta编程总结1

    7-1 打印沙漏 (20 分) 本题要求你写个程序把给定的符号打印成沙漏的形状.例如给定17个"*",要求按下列格式打印 所谓"沙漏形状",是指每行输出奇数个符 ...

  5. 蒙特卡诺近似与PBM

    介绍蒙特卡诺近似的例子代码 #include<fstream> #include<iostream> #include<cstdlib> #include<c ...

  6. matplotlib 3D数据-【老鱼学matplotlib】

    直接上代码: import numpy as np import matplotlib.pyplot as plt # 导入显示3D的库 from mpl_toolkits.mplot3d impor ...

  7. Linux下执行Java程序报错

    在linux下编译java程序,执行javac编译生成class文件时,在centos7终端输入如,javac hello.java    会提示未找到指令,但用java -verison测试环境变量 ...

  8. 课堂小记---html

    其他注意点: 行高line-hight的继承特性: 行高有三种属性值:数字(1.5).百分比(150%).长度值(1.5em或者30px).继承上这三者是有区别的. 当属性值为数字值,其子元素会继承行 ...

  9. Hadoop 设置任务执行的队列以及优先级

    转自:http://blog.csdn.net/wisgood/article/details/39075883 作业提交到的队列:mapreduce.job.queuename 作业优先级:mapr ...

  10. 自己总结的C#编码规范--7.文档下载 & 总结

    今天终于把这一系列的编码规范写完了,这个编码规范算上前面阅读相关书籍,前前后后总共花了一个月的时间,也算是个人的呕心沥血之作了. 本来也没打算把这个系列写的这么长,但是在写的过程中自己搜了相关的网上资 ...