• 小程序轮播图


    <swiper indicator-dots="{{indicatorDots}}" indicator-color="{{indicatorColor}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{bg}}" style='height:{{Height}}'>
       <block wx:for="{{imgUrls}}">
        <swiper-item>
          <image src="{{item}}" class="slide-image" mode="widthFix" bindload='imgHeight'/>  
        </swiper-item>
       </block>
    </swiper>

    index.js

    Page({
        data: {
            imgUrls: [
                '/img/ban1.jpg',
                '/img/ban2.jpg',
                '/img/ban3.jpg'
            ],
            indicatorDots: true,    //是否显示面板指示点
            indicatorColor:'#ffa700',
            autoplay: true,
            interval: 5000,
            duration: 1300,
            bg: '#fff',
            Height: ""
        },
        imgHeight: function (e) {
            var winWid = wx.getSystemInfoSync().windowWidth; //获取当前屏幕的宽度
            var imgh = e.detail.height;//图片高度
            var imgw = e.detail.width;//图片宽度
            var swiperH = winWid * imgh / imgw + "px"
            this.setData({
                Height: swiperH//设置高度
            })
        }
    
    })

    图片高度随宽度自适应

    还有另一种wxss的方法

    假设图片原尺寸为1000*500,则只需给swiper的高设置为375rpx即可

    (以iphone6为参考,其宽为750,所以750*500/1000,即只需要设置swiper的宽高比等于图片的宽高比)

    WXSS 在底层支持新的尺寸单位 rpx ,开发者可以免去换算的烦恼,只要交给小程序底层来换算即可

    代码如下:

    index.wxml

    <swiper indicator-dots="{{indicatorDots}}" indicator-color="{{indicatorColor}}" autoplay="{{autoplay}}" interval="{{interval}}" duration="{{duration}}" indicator-active-color="{{bg}}" >
       <block wx:for="{{imgUrls}}">
        <swiper-item>
          <image src="{{item}}" class="slide-image" mode="widthFix" bindload='imgHeight'/>  
        </swiper-item>
       </block>
    </swiper>

    index.wxss

    swiper{
        height:375rpx;
    }
    image{
        display: block;
        width:100%;
    }

    index.js

    Page({
        data: {
            imgUrls: [
                '/img/ban1.jpg',
                '/img/ban2.jpg',
                '/img/ban3.jpg'
            ],
            indicatorDots: true,    //是否显示面板指示点
            indicatorColor:'#ffa700',
            indicatorActiveColor:"#333333",
            autoplay: true,
            interval: 5000,
            duration: 1300,
        }
    })

    mode:图片裁剪、缩放的模式。详情参考:https://developers.weixin.qq.com/miniprogram/dev/component/image.html

    更多swiper参考文档:https://developers.weixin.qq.com/miniprogram/dev/component/swiper.html

  • 相关阅读:
    CDN缓存
    nginx作用
    Linux下4个查找命令which、whereis、locate、find
    @ModelAttribute的用法,与@RequestBody的区别
    将kafka消息解析拷贝
    永久代溢出(java.lang.OutOfMemoryError: PermGen space )
    失败重试机制-递归应用1
    kafka-重复消费-2
    读写分离-延时问题-1
    UILabel处理html标签
  • 原文地址:https://www.cnblogs.com/xsffliu/p/9490406.html
Copyright © 2020-2023  润新知