• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧
您的位置:首页 > CMS教程 >建站教程 > 总结分享小程序中 swiper 轮播图高度问题的解决方法

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

作者:站长图库 字体:[增加 减小] 来源:互联网 时间:2022-04-29

站长图库向大家介绍了小程序swiper轮播图,轮播图高度问题等相关知识,希望对您有所帮助

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


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


1、概述

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


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


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 事件去获取其具体的信息


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


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


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


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


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


3、优化

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


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


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


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


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


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

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

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

相关文章

  • 2022-04-29Illustrator结合PS制作质感的3D标志教程
  • 2022-04-29PHP高级检索功能的实现以及动态拼接sql
  • 2022-04-29WordPress国内网速慢加速及防DDOS攻击快速CF切换
  • 2022-04-29phpMyadmin该怎么实现root账户外部访问
  • 2022-04-29PS简单制作碎花布上的拼贴瓷砖文字效果教程
  • 2022-04-29介绍Mysql位运算简化一对多关系
  • 2022-04-29服务器硬盘空间不足导致MySQL异常的一系列问题及解决办法
  • 2022-04-29PHP中如何理解foreach遍历二维数组
  • 2022-04-29微信小程序选择图片和放大预览图片功能
  • 2022-04-29你值得了解的一种CSS获取图片主题色的小技巧(分享)

文章分类

  • dedecms
  • ecshop
  • z-blog
  • UcHome
  • UCenter
  • drupal
  • WordPress
  • 帝国cms
  • phpcms
  • 动易cms
  • phpwind
  • discuz
  • 科汛cms
  • 风讯cms
  • 建站教程
  • 运营技巧

最近更新的内容

    • 帝国CMS灵动标签去除重复标题信息
    • 修改phpMyAdmin导入数据库文件大小限制的解决方法
    • Photoshop CC教程:您必须知道的CC新功能
    • laravel-mix怎么自动压缩html模板文件
    • PS制作超酷黑白像素文字效果
    • PS鼠绘红润的美少女
    • PHP怎么获取当前日期是一年的第几周
    • PHP怎么判断一个客户端是手机还是电脑
    • PHP生成缩略图实例讲解
    • PhotoShop自定义图案制作背景纹理教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有