当前位置: 代码网 > 移动>腾讯>微信 > 总结分享小程序中 swiper 轮播图高度问题的解决方法

总结分享小程序中 swiper 轮播图高度问题的解决方法

2025年03月30日 • 微信 •我要评论
在小程序中的 swiper 标签,会有一个自己固定的高度 150px,但是我们实际希望这个轮播图的高度可以动态改变,不然在不同的设备上都是 150px 的高度,会出现样式的问题。本篇文章就来给大家介绍

在小程序中的 swiper 标签,会有一个自己固定的高度 150px,但是我们实际希望这个轮播图的高度可以动态改变,不然在不同的设备上都是 150px 的高度,会出现样式的问题。本篇文章就来给大家介绍一下这个高度问题的解决方法,希望对大家有所帮助!

总结分享小程序中 swiper 轮播图高度问题的解决方法

1、概述

       小程序给轮播图标签设置了一个固定的高度 150px,这个样式在大屏幕的设备上看起来并不是很明显,但是如果换成了  iphone5 这种小屏幕的机型的话,图片的高度并不会达到 150px。因为我给图片设置的 mode 为 widthfix,让图片的高度根据宽度来自适应。所以需要解决的问题就是让轮播图的高度跟随图片的高度进行变化。

1.png

2、解决

1)、给 swiper 设置一个行内样式,height 绑定一个动态的数据,并且给内部 image 标签设置一个 id="swiper-image";并且 image 标签有一个事件:bindload,这个事件是当图片加载完成之后才会触发的,并且把这个事件绑定为图片

官网文档:https://developers.weixin.qq.com/miniprogram/dev/component/image.html

注意:这里我为什么不在 onload 生命周期中去获取 image 图片的高度,这是因为 onload 中去使用些方法获取图片信息的话,只能从本地的图片中去获取到准确的信息,但是从网络上请求下来的图片,当组件加载完后可能图片都没请求到,那么就无法获取具体的数据,所以使用 image 自带的 bindload 事件去获取其具体的信息

2.png

2)、在 index.js 文件中的 data 中声明一个变量 swiperheight,来存储 swiper 标签的高度

3.png

3)、然后书写 image 绑定的 bindload 事件处理函数 handleswiperimageloaded,使用小程序的 wx.createselectorquery(),创建节点选择器后,调用 query.select('#swiper-image').boundingclientrect().exec((res) => {}) 方法,获取该图片的具体信息。最后将获取到的该图片的盖度设置给 swiperheight,这样就动态绑定为了 swiper 标签,页面样式显示也就正常了

4.png

5.png

3、优化

1)、这里因为我请求的图片一共有十几张,那么该方法就会被调用十几次,所以自己在写个防抖函数来解决该问题即可。我在根目录下的 until.js 目录中,新建一个 hook.js 文件,用来存放我封装的 js 功能函数,在这里面编写防抖函数并且导出

6.png

2)、在 home-music 目录下的 index.js 引入封装的防抖函数

7.png

3)、在 handleswiperimageloaded 方法中使用防抖函数即可,这下只有加载完最后一张图片才会触发该方法

8.png

【相关学习推荐:小程序开发教程】

以上就是总结分享小程序中 swiper 轮播图高度问题的解决方法的详细内容,更多请关注代码网其它相关文章!

赞 (0)

相关文章:

  • 零基础微信小程序开发及实例详解

    本篇文章给大家带来了关于微信小程序的相关知识,主要介绍了微信小程序的开发步骤以及主要的过程详解,希望对大家有帮助。【相关学习推荐:微信小程序】目前,小程序行业已经成为互联网营销的热…

    2025年03月30日 • 腾讯
  • 聊聊小程序怎么实现“全文收起”功能

    聊聊小程序怎么实现“全文收起”功能

    小程序怎么实现“全文收起”功能?下面本篇文章小程序实现多行文本“全文收起”功能的方法,希望对大家有所帮助!小程序里经常会碰到需要实现多行文本”全文收起“功能,在... [阅读全文]
  • 微信小程序开发底部导航

    微信小程序开发底部导航

    微信小程序开发简介:一套软件的应用架构包括数据层、业务逻辑层、服务层、控制层、展示层、用户等多个层次。主配置文件app.json:主配置文件app.json位于... [阅读全文]
  • 浅析微信小程序中自定义组件的方法

    浅析微信小程序中自定义组件的方法

    微信小程序中怎么自定义组件?下面本篇文章给大家介绍一下微信小程序中自定义组件的方法,希望对大家有所帮助!在微信小程序开发过程中,对于一些可能在多个页面都使用的页... [阅读全文]
  • 归纳整理微信小程序常用表单组件

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了一些常用表单组件,包括了button、checkbox、input、label等等相关问题,下面一起来看一下,希望对大家…

    2025年03月30日 • 腾讯
  • 总结分享微信小程序常见面试题

    总结分享微信小程序常见面试题

    本篇文章给大家带来了关于微信小程序的相关知识,其中主要介绍了一些常见的面试题,包括了怎么在小程序中获取用户信息、小程序中怎么实现父子组件传参,下面一起来看一下,... [阅读全文]

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2026  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com