jiang2266028
jiang2266028
  • 发布:2020-10-14 11:13
  • 更新:2020-10-14 15:01
  • 阅读:1109

uniapp swiper

分类:uni-app

使用swiper轮播图 ,img已经设置成宽度100%,mode="widthFix", 但是swiper高度不会自动撑开,要怎么解决

2020-10-14 11:13 负责人:无 分享
已邀请:
harry491

harry491 - 伪web

https://ask.dcloud.net.cn/question/58781

多搜索搜索 , swiper基本用法是给固定高度的 , 想要适应高度需要动态修改

  • jiang2266028 (作者)

    你有动态修改的代码么

    2020-10-14 14:31

  • harry491

    回复 jiang2266028: 看你swiper内容是什么 , 图片的话可以使用 uni.getImageInfo 获取宽高

    2020-10-14 14:35

  • harry491

    /**  
    * 获取标签位置
    * @param {Object} selector 标签
    */
    getRect(selector) {
    return new Promise((resolve) => {
    let view = uni.createSelectorQuery().select(selector);
    view.fields({
    size: true,
    rect: true,
    scrollOffset: true
    }, (res) => {
    resolve(res);
    }).exec();
    })
    },

    2020-10-14 14:37

  • jiang2266028 (作者)

    回复 harry491: uni.getImageInfo 获取的是图片本身宽高,而不是我在手机里的宽高,我用了uni.createSelectorQuery().in(this),去获取img高度,结果不准确

    2020-10-14 14:49

  • harry491

    回复 jiang2266028: 你都有宽高了 不能用宽高比来固定图片么 , 你图片在手机上至少有个固定的宽或者高吧

    2020-10-14 14:53

  • jiang2266028 (作者)

    我是宽度100% ,高度让他自适应的,适应不同手机大小,图片才不会被拉伸

    2020-10-14 14:56

harry491

harry491 - 伪web

那你直接 750rpx * (高/宽) 不就得了 搞得这么复杂

  • jiang2266028 (作者)

    750rpx * (高/宽) 写在哪 ,高是img 的高?

    2020-10-14 15:09

  • harry491

    回复 jiang2266028:


    let that = this  
    uni.getImageInfo({
    src: that.imageurl,
    success: function(image) {
    that.imageH = image.height * (360 / image.width) + 'rpx';
    }
    })

    <image class="itemPhoto" :style="{height:imageH}" :src="imageurl"></image>

    2020-10-14 15:14

该问题目前已经被锁定, 无法添加新回复