gpt4 book ai didi

jquery - 非整数 DOMElement 高度

转载 作者:行者123 更新时间:2023-11-28 11:49:51 28 4
gpt4 key购买 nike

我有一个包含行的表格,需要计算出任何行的高度。

var height = $('table').find('tbody > tr').height();
console.log(height);

在我的特定情况下,这会产生 18。好的,所以我使用它来计算可滚动 div 中的索引。那是 index = scrollTop/rowHeight 但有些不对。

经过进一步调查,我发现在这种情况下,IE9 报告的高度实际上是 18.4。使用该值进行计算。

我想不通的是如何获得这个值。我尝试使用 jQuery、innerHeightouterHeight(包括和不包括边距)和 height 的所有方法。他们都返回 18 一个整数!?表格高度超过行数是一个合理的近似值 (18.40625),但是该值会导致细微的舍入误差。我试过 roundfloorceil 都无济于事。

到目前为止,我设法让它工作的唯一方法是将每一行高度固定为某个整数值。但我真的很想取消它,我应该能够计算行高,这样它可以是任何值,只要它是常量即可。

这个 18.4 是计算的 line-height 并将其设置为整数可以解决问题,但我不想处理设备像素。我不明白为什么没有办法获得开发人员工具显示的实际高度值(根据 MSDN 文档 offsetHeight 但该属性是一个整数,它只是错误)。

我需要帮助。

最佳答案

这很痛苦,但我相信您应该能够通过 window.getComputedStyle(elem, null) 调用达到高度。如果您不在标准模式下使用 IE9,则需要改用 IE 专有的 elem.currentStyle 属性(其他浏览器自然会使用标准调用)。请记住,您需要将元素的填充和边框宽度添加到 style.height 值,并且您需要对值执行 parseFloat,因为它会在末尾返回“px”。

关于jquery - 非整数 DOMElement 高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5471352/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com