0

我有这个功能,它可以根据需要工作(我认为这是不言自明的)。但是,输出值为 473.4615384340286。我不想要所有的 .decimal 点。我真的想围观一下。的.height()#campaign-header475px。

小数点是怎么回事?

// add billboard height value to modal input
var inputBillboard = $('#campaign-header').height();
$('.billboard-height').val(inputBillboard);
4

4 回答 4

4

要四舍五入,您可以使用Math.ceil()

var inputBillboard = Math.ceil($('#campaign-header').height());
于 2013-03-05T23:28:54.063 回答
3

如果你的 div 是 475px 高,那么只有当div 没有边框或填充.height()时才会返回 475 。如果它有边框或填充,它将返回减去这些尺寸的高度。如果您想要总高度,请使用:.outerHeight()

$('#campaign-header').outerHeight(false);

参数(在这种情况下为 false)指示是否在计算中包括边距。

于 2013-03-05T23:29:19.743 回答
2

Math.ceil()是你需要的:

var inputBillboard = Math.ceil($('#campaign-header').height());
$('.billboard-height').val(inputBillboard);
于 2013-03-05T23:26:56.047 回答
1

您可能想要使用.outerHeight()而不是.height(). outerHeight将返回考虑到元素的填充等的高度:

// add billboard height value to modal input
var inputBillboard = $('#campaign-header').outerHeight();
$('.billboard-height').val(inputBillboard);

通常情况下,这是人们期望.height()返回的。你得到的和你期望得到的不同让我想知道这是否也适用于你。

您还可以提供 true 来outerHeight()制作它,以便它也将元素边距考虑在内。

该函数总是返回一个整数。

参考:http ://api.jquery.com/outerHeight/

如果您不想要包含填充的大小,请按照 BenM 的建议在 .height 上使用 Math.ceil。

编辑: JeffB 打败了我。:)

于 2013-03-05T23:34:59.103 回答