|
|
|
| Подскажите как получить максимальное число из var ch = [[ 1, 10 , 1, 25], [2,44, 2, 42], [ 3, 1, 23, 10]]; ,задать столбику с этим числом высоту например 100px ,а остальные столбики рисовать относительно первого
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<style type="text/css">
body {background-color: #E8E8E8;}
td {font-size: 7pt; color: #565656; text-align: center;}
img {width: 9; background-color: #FF8000; border: 0; border-bottom: 1 solid #FFFFFF; border-left: 1 solid #FFFFFF;}
.d {background-color: #FFFFFF; border-bottom: 1 solid #565656;}
.n {background-color: #C0C0C0; border-bottom: 1 solid #565656;}
.f {background-color: #C0C0C0; border-bottom: 1 solid #565656; border-left: 1 solid #565656;}
.m {border-left: 1 solid #565656;}
</style>
</head>
<body leftmargin=0 topmargin=0 bottommargin=0 rightmargin=0>
<table width="100%" height=217 bgcolor=#FFFFFF border=0 cellspacing=0 cellpadding=0>
<tr height="100%">
<script>
var ch = [[ 1, 10 , 1, 25], [2,44, 2, 42], [ 3, 1, 23, 10]];
var dt = ['Dcade 1', 'Dcade 2', 'Dcade 3'];
for(i = 0; i < ch.length; i++)
for(j = 0; j < ch[i].length; j += 2)
document.write('<td valign=bottom><img style="height: ' + Math.max(ch[i][j + 1], 1) + '" src="images/blank.gif"></td>\n');
document.write('<td width="100%"> </td></tr><tr>\n');
for(i = 0; i < ch.length; i++)
for(j = 0; j < ch[i].length; j += 2)
document.write('<td class=' + (i == 0 && j < 2 || ch[i][j - 2] < ch[i][j] ? ch[i][j] > 21 || ch[i][j] < 8 ? 'n' : 'd' : 'f') + '>' +
(ch[i][j] % 2 == 0 ? ch[i][j] : ' ') + '</td>\n');
document.write('<td width="100%"> </td></tr><tr height=10>\n');
for(i = 0; i < dt.length; i++)
document.write('<td ' + (i == 0 ? '' : 'class=m ') + 'colspan=' + ch[i].length / 2 + ' nowrap>' + dt[i] + '</td>\n');
</script>
<td width="100%"> </td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: servannin
(21.07.2006 в 19:43)
| | Узнать наибольшее число в этом массиве можно так:
var ch = [[ 1, 10 , 1, 25], [2,44, 2, 42], [ 3, 1, 23, 10]];
var res = [];
for(var i=0;i<ch.length;i++)res.push(Math.max.apply(null,ch[i]));
var biggest = Math.max.apply(null,res);
alert('Наибольшее число '+biggest);
|
| |
|
|
|
|
|
|
|
для: RMW
(21.07.2006 в 20:44)
| | Спасибо!
А как можно задать высоту столбца с этим максимальным числом ,например, 150 px,а остальным столбцам с соответствующими числами задать высоту уже относительно этого?? | |
|
|
|
|
|
|
|
для: servannin
(21.07.2006 в 20:48)
| |
for(var i=0; i < ch.length; i++)
for (var j=0; j<ch[i].length; j++)
new_ch[i][j] = Math.round(ch[i][j]*150/biggest)
|
| |
|
|
|
|
|
|
|
для: Crux
(21.07.2006 в 20:54)
| | Господа,извиняюсь за наглость :)
А можно в полном коде?
Спасибо | |
|
|
|
|
|
|
|
для: servannin
(21.07.2006 в 20:57)
| |
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<style type="text/css">
body {background-color: #E8E8E8;}
td {font-size: 7pt; color: #565656; text-align: center;}
img {width: 9; background-color: #FF8000; border: 0; border-bottom: 1 solid #FFFFFF; border-left: 1 solid #FFFFFF;}
.d {background-color: #FFFFFF; border-bottom: 1 solid #565656;}
.n {background-color: #C0C0C0; border-bottom: 1 solid #565656;}
.f {background-color: #C0C0C0; border-bottom: 1 solid #565656; border-left: 1 solid #565656;}
.m {border-left: 1 solid #565656;}
</style>
</head>
<body leftmargin=0 topmargin=0 bottommargin=0 rightmargin=0>
<table width="100%" height=217 bgcolor=#FFFFFF border=0 cellspacing=0 cellpadding=0>
<tr height="100%">
<script>
var ch = [[ 1, 10 , 1, 25], [2,44, 2, 42], [ 3, 1, 23, 10]];
var res = [];
for(var i=0;i<ch.length;i++)res.push(Math.max.apply(null,ch[i]));
var biggest = Math.max.apply(null,res);
var new_ch = new Array();
for(var i=0; i < ch.length; i++)
{
new_ch[i] = new Array();
for (var j=0; j<ch[i].length; j++)
new_ch[i][j] = Math.round(ch[i][j]*150/biggest);
}
var dt = ['Dcade 1', 'Dcade 2', 'Dcade 3'];
for(i = 0; i < new_ch.length; i++)
for(j = 0; j < new_ch[i].length; j += 2)
document.write('<td valign=bottom><img style="height: ' + Math.max(new_ch[i][j + 1], 1) + '" src="images/blank.gif"></td>\n');
document.write('<td width="100%"> </td></tr><tr>\n');
for(i = 0; i < new_ch.length; i++)
for(j = 0; j < new_ch[i].length; j += 2)
document.write('<td class=' + (i == 0 && j < 2 || new_ch[i][j - 2] < new_ch[i][j] ? new_ch[i][j] > 21 || new_ch[i][j] < 8 ? 'n' : 'd' : 'f') + '>' +
(new_ch[i][j] % 2 == 0 ? new_ch[i][j] : ' ') + '</td>\n');
document.write('<td width="100%"> </td></tr><tr height=10>\n');
for(i = 0; i < dt.length; i++)
document.write('<td ' + (i == 0 ? '' : 'class=m ') + 'colspan=' + new_ch[i].length / 2 + ' nowrap>' + dt[i] + '</td>\n');
</script>
<td width="100%"> </td>
</tr>
</table>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: Crux
(22.07.2006 в 07:06)
| | Crux, огромное спасибо!
И последний вопрос : а как можно делать то же самое,то есть рисовать столбики,но ,чтобы массив выглядел,например, так var ch = [[ 5, 25], [20, 42], [ 23, 10]]; и чтобы как и сейчас рисовались столбики,но только по этим 6 числам ? | |
|
|
|
|
|
|
|
для: servannin
(22.07.2006 в 21:13)
| | ау....хэлп плиз | |
|
|
|