JS如何设置获取盒模型对应的宽高

本文介绍了四种获取HTML元素尺寸的方法:使用`dom.style`获取内联样式宽度和高度;利用`dom.currentStyle`获取渲染后的尺寸(仅IE支持);通过`window.getComputedStyle`获取兼容性更好的元素尺寸;运用`dom.getBoundingClientRect`计算元素绝对位置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  1. dom.style.width/height(只适用获取内联元素的宽和高)
  2. dom.currentStyle.width/height(获取渲染后的宽高,但是仅IE支持)
  3. window.getComputedStyle(dom).width/height(与2原理相似,但是兼容性,通用性会更好一些)
  4. dom.getBoundingClientRect().widht/height(计算元素绝对位置,获取到四个元素left,top,width,height)

### 如何在 Vue 中使用 Cesium 获取模型的 EGM96 度 为了在 Vue 项目中获取 Cesium 模型所在的 EGM96 度,需先确保已正确引入并初始化了 Cesium 库[^2]。 #### 初始化 Cesium 和加载地形数据 ```javascript import * as Cesium from 'cesium'; export default { mounted() { this.viewer = new Cesium.Viewer('cesiumContainer', { terrainProvider: new Cesium.CesiumTerrainProvider({ url: 'https://assets.agi.com/stk-terrain/world' }) }); } } ``` 这段代码展示了如何通过 `CesiumTerrainProvider` 加载全球程数据。这一步骤对于后续计算 EGM96 度至关重要[^1]。 #### 计算指定位置的 EGM96 度 要获得特定地理坐标下的 EGM96 度值,可利用 `sampleHeight` 方法: ```javascript async function getHeightAtPosition(longitude, latitude) { const heightPromise = viewer.scene.globe.heightmapHeights; let positionCartographic = Cesium.Cartographic.fromDegrees(longitude, latitude); let ellipsoidSurfacePoint = Cesium.Cartesian3.fromRadians(positionCartographic.longitude, positionCartographic.latitude); var promise = Cesium.sampleTerrainMostDetailed(viewer.terrainProvider, [positionCartographic]); await Cesium.when(promise, function(updatedPositions){ console.log(Cesium.Math.toDegrees(updatedPositions[0].height)); }); return updatedPositions[0].height; } // 使用方法如下: getHeightAtPosition(116.4074, 39.9042); // 北京市经纬度为例 ``` 此段代码定义了一个异步函数用于查询给定经度纬度对应的 EGM96 度,并打印出来。注意这里调用了 `Cesium.sampleTerrainMostDetailed()` 来精确采样地形度。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值