Monday, May 20, 2024
 Popular · Latest · Hot · Upcoming
163
rated 0 times [  165] [ 2]  / answers: 1 / hits: 48287  / 12 Years ago, sat, august 11, 2012, 12:00:00

I've got some JavaScript I'm trying to use to define my table width/height to make it fluid across different resolutions. It seems to work fine for the width but I can't get it to work for the height. It is setting the correct number into the correct variable, it's just not setting the tables height. Here's what I got..



<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>


Anyone see what I'm doing wrong?


More From » html-table

 Answers
49

Try this may this work



    var width = document.getElementById('container').style.offsetWidth;
var height = document.getElementById('container').style.offsetheight;

[#83705] Thursday, August 9, 2012, 12 Years  [reply] [flag answer]
Only authorized users can answer the question. Please sign in first, or register a free account.
melody

Total Points: 295
Total Questions: 97
Total Answers: 101

Location: Aruba
Member since Fri, Jun 24, 2022
2 Years ago
;