微信小程序轮播图组件 swiper,swiper-item及轮播图片自适应

摘要:
官方网站地址:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.htmlindex.wxml文件指示点:是否显示面板指示点;自动播放:是否自动切换;间隔:自动切换间隔;圆形:是否采用粘性滑动;持续时间:滑动动画持续时间;有关更多属性,请查看官方网站˂swiperindicator

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

index.wxml文件

indicator-dots:是否显示面板指示点
autoplay:是否自动切换
interval:自动切换时间间隔
circular:是否采用衔接滑动
duration:滑动动画时长

更多属性请查看官网

 <swiper indicator-dots="{{indicatorDots}}" autoplay="{{autoplay}}" interval="{{interval}}" circular="{{circular}}" duration="{{duration}}" class='hlzbsp'>
      <block wx:for="{{phonelist}}" wx:for-item="item" wx:for-index="idx">
        <swiper-item>
           <image src="{{item.phoneurl}}" style='position: absolute;{{item.phoneWidth}}rpx; height:{{item.phoneheight}}rpx; top:{{item.top}}rpx; left: {{item.left}} rpx;' mode="aspectFit"></image>
        </swiper-item>
      </block>
    </swiper>

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

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

index.js文件

const app = getApp()
Page({
  data: {
    phonelist:[], //轮播图片列表
    indicatorDots: true,//是否显示面板指示点
    autoplay: true,//是否自动切换
    circular:true,//是否采用衔接滑动
    interval: 3000,//自动切换时间间隔
    duration: 1000,//滑动动画时长
  },


phone:function(){
//这里采用动态获取照片
   wx.request({
      url: '后台访问地址',
      header: {
        //设置参数内容类型为x-www-form-urlencoded
        'content-type': 'application/x-www-form-urlencoded'
      },
      method: 'GET',
      success: function (res) {
        var list=[];//定义临时数组
        var phonecomment={};//定义临时对象
        //res.data.data.lsit是从后台拿到的数据,可根据后台传参获取 格式:[{id:1,photoDetails:aaa.jsp},{id:2,photoDetails:bbb.jsp},{id:3,photoDetails:ccc.jsp}]
        if (res.data.data.lsit.length>0){
          for (var i = 0; i < res.data.data.lsit.length; i++) {
            phonecomment={};//将临时对象赋值空
            phonecomment.phoneurl = res.data.data.lsit[i].photoDetails;//保存图片地址
       //官方接口 获取图片信息 wx.getImageInfo({ src: res.data.data.lsit[i].photoDetails,//图片地址 success: function (phone) { var originalWidth = phone.width;//返回该图片的宽 var originalHeight = phone.height;//返回该图片的高 var minwidth =670 /originalWidth;//670为轮播框的宽,670/originalWidth 是轮播框宽与图片宽比例 var minheight = 380 / originalHeight;//380为轮播框的高 380/originalHeight 是轮播框高与图片高比例 if (minwidth >= minheight){ phonecomment.phoneheight = originalHeight * minheight;//图片需要设置的高 phonecomment.phoneWidth = originalWidth * minheight;//图片需要设置的宽 phonecomment.top = (380 - originalHeight * minheight) / 2;//图片距离轮播框顶部的距离 phonecomment.left = (670 - originalWidth * minheight) / 2;//图片距离轮播框左边的距离 //phonecomment.top phonecomment.left作用:图片居中 }else{ phonecomment.phoneheight = originalHeight * minwidth; phonecomment.phoneWidth =originalWidth * minwidth; phonecomment.top = (380 - originalHeight * minwidth) / 2; phonecomment.left=(670 - originalWidth * minwidth) / 2; } }, fail: function (res) { console.log("获取图片高宽失败"); }, }) list.push(phonecomment);//将临时对象存放到临时数组中 } console.log(list); that.setData({ phonelist: list //赋值 }); console.log(list); }else{ console.log("暂无轮播图片"); } } }) } })

免责声明:文章转载自《微信小程序轮播图组件 swiper,swiper-item及轮播图片自适应》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇lua loadPython 指定窗口截屏下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

图片轮播插件-carouFredSel

carouFredSel图片轮播插件基于Jquery,比较常规的轮播插件,支持滚轮及键盘左右按键,加入其它插件可实现更加复杂的特效。 主页地址:http://caroufredsel.dev7studios.com/ 例子: html: 1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitio...

Bootstrap 之 Carousel

Bootstrap 轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。除此之外,内容也是足够灵活的,可以是图像、内嵌框架、视频或者其他您想要放置的任何类型的内容。 如果您想要单独引用该插件的功能,那么您需要引用 carousel.js。或者,正如 Bootstrap 插件概览 一章中所提到,您可以引用 bootstrap.js 或压缩版...

Bootstrap: 样式CSS:carousel轮换 图片的使用

Bootstrap 轮播(Carousel)插件   Bootstrap轮播(Carousel)插件是一种灵活的响应式的向站点添加滑块的方式。除此之外,内容也是足够灵活的,可以是图像、内嵌框架、视频或者其他您想要放置的任何类型的内容。 如果您想要单独引用该插件的功能,那么您需要引用 carousel.js。或者,您可以引用bootstrap.js 或压缩...

swiper轮播图在vue项目中使用,报错component lists rendered with v-for should have explicit keys(e积分项目)

做E积分项目,首页轮播图用vue里swiper插件,轮播图片由后台返回,并且数据要循环出来。 <div class="swiperWrap"> <swiper :options="swiperOption" ref="mySwiper"> <swiper-slide v-for='item in swiperArr' :...

Swiper正方体,左右翻转轮播图

今天的轮播图,和往常的有一点点不同哦!可以说是有一点点的3D效果!因为他在运动的时候,是以正方体的样子左右滚动的; 先引插件: <link rel="stylesheet" href="http://t.zoukankan.com/swiper.css"> <script src="http://t.zoukankan.com/swip...

使用vue的v-show和transition制作一个简单轮播图

<template> <!--轮播图--> <div id="carousel"> <transition-group tag="ul" :name="transitionName"> <li v-for="(list,index) in slideList" :key="i...