我正在尝试获得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
像素显然无效。
答案 0 :(得分: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
的属性,而是元素本身(请参阅here)。
答案 1 :(得分: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';