获取隐藏div的计算高度

时间:2011-06-10 12:12:22

标签: javascript css

我正在尝试使用此函数计算带display:none的div的计算高度:

function getComputedHeight(theElt){
    if(navigator.appName=='Microsoft Internet Explorer'){
        tmphght = document.getElementById(theElt).offsetHeight;
    }
    else{
        docObj = document.getElementById(theElt);
        var tmphght1 = document.defaultView.getComputedStyle(docObj, "").getPropertyValue("height");
        tmphght = tmphght1.split('px');
        tmphght = tmphght[0];
    }
    return tmphght;
}

这是我的HTML

<a href="javascript:;" onclick="showme('<?php echo 'mydiv765_'.$userid[$i];?>')">View</a>

和名为

的函数
function showme(objid)
{
    var h=getComputedHeight(objid);
    alert(h);   
}

该函数返回:auto。

请问我该如何解决这个问题?是否有更好的方法来达到同样的效果?

1 个答案:

答案 0 :(得分:1)

试试这个?

function getComputedHeight(obj){

    var originalDisplay = obj.style.display; 

    if (originalDisplay == "none") {
       obj.style.filter = "alpha(opacity=1)";
       obj.style.opacity = 0.01;
    }

    height = obj.offsetHeight;

    if (originalDisplay == "none") {
        obj.style.display = originalDisplay; 
        obj.style.filter = "alpha(opacity=100)"; // IE
        obj.style.opacity = 1; // Firefox, etc..
    }
    return height;
}

Height of Hidden Div?修改