2

div の高さを取得して、高さに基づいて配置しようとしています。これに関するさまざまな記事を読んだことがありますが、結果として常に NaN を取得しているようです。はい、divが描画された後、javascriptが本文の最後にロードされます。

このjavascriptを動的に作成するためにasp.netを使用しています。私がこれまでに出力したものは次のとおりです。

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 に答える