用于确定表格宽度/高度的 Javascript

cre*_*eam 6 javascript html-table width

我有一些 JavaScript,我试图用它来定义我的表格宽度/高度,以使其在不同的分辨率下流畅。它似乎适用于宽度,但我无法让它适用于高度。它正在将正确的数字设置为正确的变量,而不是设置表格高度。这是我得到的..

<html>
<head>
<script type="text/javascript">
 var viewportwidth;
 var viewportheight;
 var tablewidth;
 var tableheight;
 if (typeof window.innerWidth != 'undefined'){ //set's viewport width/height into respective variables
              viewportwidth = window.innerWidth,
              viewportheight = window.innerHeight
         }else if (typeof document.documentElement != 'undefined'
             && typeof document.documentElement.clientWidth !=
             'undefined' && document.documentElement.clientWidth != 0){
               viewportwidth = document.documentElement.clientWidth,
               viewportheight = document.documentElement.clientHeight
         }else{
               viewportwidth = document.getElementsByTagName('body')[0].clientWidth,
               viewportheight = document.getElementsByTagName('body')[0].clientHeight
         } 
 function asdf(){
 tablewidth = Math.round(viewportwidth/100*70);  //sets table width to 70% of viewport width
 tableheight = Math.round(tablewidth/100*74);    //sets table height to 74% of table width, this number is ambigous
 document.getElementById('poop').innerHTML = tableheight+', '+tablewidth+', viewport width is '+viewportwidth+'x'+viewportheight;
 document.getElementById('container').width = tablewidth;
 document.getElementById('container').height = tableheight;
}
</script>
</head>
<body onload="asdf();">
<span id="poop"></span>
    <table id="container" cellpadding="0" border="1" cellspacing="0" width="" height="">
        <tr><td colspan="5"></td></tr>
        <tr>
            <td width="38%"></td>
            <td width="12%"></td>
            <td width="21%"></td>
            <td width="14%"></td>
            <td width="15%"></td>
        </tr>
    </table>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)

有人看到我做错了什么吗?

sej*_*tel 2

试试这个可能有效

    var width = document.getElementById('container').style.offsetWidth;
    var height = document.getElementById('container').style.offsetheight;
Run Code Online (Sandbox Code Playgroud)

  • 如果Table没有任何样式直接使用-------------&gt;var width = document.getElementById('TableID').offsetWidth; (4认同)