当前位置: 代码网 > 移动>腾讯>微信 > 总结分享小程序中 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-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com