当前位置: 首页 > news >正文

uniapp动态计算并设置元素高度

<template><view><scroll-view id="sv-box" :scroll-y="true" :style="{height:navHeight+'px'}"></scroll-view><view id="btn-box"><button>取消</button><button>确认</button></view></view>
</template>export default {name: "demo",components: {},props: {},data() {return {pH: 0, //窗口高度navHeight: 0, //元素的所需高度}},methods: {init() {let that = this;uni.getSystemInfo({ //调用uni-app接口获取屏幕高度success(res) { //成功回调函数that.pH = res.windowHeight //windoHeight为窗口高度,主要使用的是这个let titleH = ''uni.createSelectorQuery().select("#sv-box").boundingClientRect(data => {titleH = that.pH - data.top //计算高度:元素高度=窗口高度-元素距离顶部的距离(data.top)}).exec()uni.createSelectorQuery().select("#btn-box").boundingClientRect(data => {titleH -= data.height //再减去底部元素高度(data.height)}).exec()that.navHeight = titleH}})}}
}

注意:如果做为popup组件使用,不要在mounted里调用计算方法,会出现高度计算错误。因为当mounted执行时,popup中的内容还未渲染生成,导致高度按全屏高度计算。

http://www.lryc.cn/news/403921.html

相关文章:

  • 直播架构如何设计核心节点和边缘节点
  • 自动驾驶-预测概览
  • 基于PSO算法优化PID参数的一些问题
  • 什么是决策树?
  • ASP 快速参考
  • (二)原生js案例之数码时钟计时
  • [CSS] 浮动布局的深入理解与应用
  • Linux云计算 |【第一阶段】ENGINEER-DAY2
  • 9.11和9.9哪个大?
  • 学懂C语言(十二):C语言中的二进制原理及应用
  • 科研绘图系列:R语言雨云图(Raincloud plot)
  • 优化教学流程和架构:构建高效学习环境的关键步骤
  • js | this 指向问题
  • 《昇思 25 天学习打卡营第 15 天 | 基于MindNLP+MusicGen生成自己的个性化音乐 》
  • Gitee 使用教程1-SSH 公钥设置
  • 理解Cookie、Session和Token
  • 概率论原理精解【1】
  • 数据结构(二叉树-1)
  • 巴黎奥运会倒计时 一个非常不错的倒计时提醒
  • 【Python】使用库 -- 详解
  • Web3D:WebGL为什么在渲染性能上输给了WebGPU。
  • SpringBoot面试高频总结01
  • Linux 工作队列(Workqueue):概念与实现
  • 前端页面是如何禁止被查看源码、被下载,被爬取,以及破解方法
  • 51单片机嵌入式开发:14、STC89C52RC 之HX1838红外解码NEC+数码管+串口打印+LED显示
  • 在不同环境中,Java应用程序和MySQL等是如何与Docker进行交互和操作的?
  • 《DRL》P10-P15-损失函数-优化(梯度下降和误差的反向传播)
  • Spring Boot项目的404是如何发生的
  • <数据集>手势识别数据集<目标检测>
  • 【Vue3】选项式 API