2

我正在尝试获取 div 的高度,然后根据高度定位它。我已经阅读了有关此的各种文章,但结果我似乎总是得到 NaN。是的,在绘制 div 之后,javascript 会在正文的末尾加载。

我正在使用 asp.net 动态创建这个 javascript。到目前为止我的输出是:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');
resultsInnerDiv.innerHTML = "test";
var h = parseInt(resultsInnerDiv.style.offsetHeight);
alert(parseInt(resultsInnerDiv.style.offsetHeight));
resultsInnerDiv.style.top = ((h / 2) -125) + 'px';

我需要得到实际高度,而不是NaN. NaN像素显然无效。

4

2 回答 2

3

我认为这是你需要的:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');
resultsInnerDiv.innerHTML = "test";
var h = parseInt(resultsInnerDiv.offsetHeight);
alert(parseInt(resultsInnerDiv.offsetHeight));
resultsInnerDiv.style.top = ((h / 2) -125) + 'px';

offsetHeight不是 的属性element.style,而是元素本身(参见此处)。

于 2013-01-05T11:31:50.463 回答
0

试试这个:

var resultsDiv = document.getElementById('resultsDiv');
var resultsInnerDiv = document.getElementById('resultsInnerDiv');

resultsInnerDiv.innerHTML = "test";

var h = parseInt(resultsInnerDiv.offsetHeight);

alert(h);

resultsInnerDiv.style.top = ((h / 2) -125) + 'px';
于 2013-01-05T11:38:23.947 回答