使用jquery获取div的高度(以厘米为单位)?

时间:2012-05-29 07:37:16

标签: javascript jquery

我有一个div,我在其中动态添加数据,我想得到特定div的高度,以厘米为单位。因为我需要根据高度控制可以在div中显示的数据量。

3 个答案:

答案 0 :(得分:14)

答案 1 :(得分:13)

这是一个将CSS像素转换为厘米的小函数:

function px2cm(px) {
  var d = $("<div/>").css({ position: 'absolute', top : '-1000cm', left : '-1000cm', height : '1000cm', width : '1000cm' }).appendTo('body');
  var px_per_cm = d.height() / 1000;
  d.remove();
  return px / px_per_cm;
}

它在页面中插入一个1000厘米x 1000厘米的空<div>,然后以CSS像素读取其高度。 通过不使用魔术值(如上面建议的1px = 0.02645833 cm,仅在屏幕DPI为96时有效),它确保考虑当前屏幕DPI。

由于屏幕的DPI永远不会改变,您应该缓存px_per_cm以避免在您调用此函数时出现任何性能损失

答案 2 :(得分:6)

首先,您需要确定要查看的DPI(每英寸点数)。在屏幕上,这通常在72到100之间。以72为例。

每英寸72点(像素)。
这是每2.54厘米72像素 所以1厘米是28.35像素

现在只需以像素为单位获取高度,然后进行转换。