Ik heb een mooi scriptje gevonden in javascript om staafdiagrammen te maken, echter, het werkt niet.
wat is er fout in deze regels?
wat is er fout in deze regels?
HTML:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled</title>
<script language="JavaScript" type="text/javascript">
<!--
/* ---------- Zaken die gewijzigd kunnen worden ---------- */
var AantalBalken=6, maxPixel=250, breedte=15;
/* ---------- Hieronder niets meer wijzigen ---------- */
function getParam(id,def) { // Trap query parameters
if(!window.location.search || ! id) {
return def;
} else {
var scrap = location.search.toLowerCase();
var par_begin = scrap.indexOf(id.toLowerCase());
var par_end = scrap.indexOf('&',par_begin+id.length+1);
if (par_end < par_begin) { par_end=scrap.length; }
if (par_begin != -1) {
return unescape(scrap.substring(par_begin+id.length+1,par_end));
} else {
return def;
}
}
}
// Einde van dit Script -->
</script>
</head>
<body>
<script language="JavaScript" type="text/javascript">
<!--
document.write('<table border="1" cellspacing="1" cellpadding="2" bgcolor="#DDEEFF">');
var Tekst = getParam('tt','');
if (Tekst.length > 0) {
document.write('<tr><td bgcolor="#5588CC" align="center"><font color="#FFFFFF">');
document.write(Tekst,'</font></td></tr>');
}
document.write('<tr><td>');
/* ---- Tweede (Geneste) tabel en de titelbalk ---- */
document.write('<table border="0" cellpadding="2" cellspacing="0" width="100%">');
// Haal de subtitel op
Tekst = getParam('stt','');
// Haal alle getallen uit de serie, tel ze op en zoek de grootste
var som = new Number(0), aantal = new Number(0), hulp = new Array(AantalBalken+1);
hulp[0] = 0;
for (i=1; i<=AantalBalken; i++) {
hulp[i] = getParam('g'+i,'*');
if (hulp[i] != '*') { aantal++; som += parseInt(hulp[i]); };
}
if (isNaN(som)) { // Stoppen als er een fout is
window.alert('Fout in de invoer!');
window.close();
}
for(i=1; i<=AantalBalken; i++){ if (parseInt(hulp[0] < parseInt(hulp[i])) hulp[0] = parseInt(hulp[i]); };
// Schrijf de subtitel balk en open een nieuwe tabel-regel
if (getParam('type','s') == 's') aantal = 2;
document.write('<tr><td colspan="',aantal,'" align="center"><b>',Tekst,' [Totaal ',som,']</b></td></tr>');
document.write('<tr><td colspan="',aantal,'"> </td></tr>');
// Maak onderscheid tussen een staaf- of kolomgrafiek
var getal;
if (getParam('type','s') == 's') {
for (i=1; i<=AantalBalken; i++) {
getal = getParam('g'+i,'*');
if (getal != '*') {
document.write('<tr align="left" valign="top"><td>',getParam('n'+i,''),' (',getal,')</td>');
document.write('<td><img src="pixel-',i,'.gif" border="0" width="',Math.round(getal/hulp[0]*maxPixel),'" height="',breedte,'"> ',Math.round(getal/som*100),'%</td></tr>');
}
}
} else {
document.write('<tr align="center" valign="bottom">');
for (i=1; i<=AantalBalken; i++) {
getal = getParam('g'+i,'*');
if (getal != '*') {
document.write('<td>(',getal,')<br> <br><img src="pixel-',i,'.gif" border= "0" width="',breedte,'" height="',Math.round(getal/hulp[0]*maxPixel/2),'"></td>');
}
}
document.write('</tr><tr align="center" valign="bottom">');
for (i=1; i<=AantalBalken; i++) {
getal = getParam('g'+i,'*');
if (getal != '*') {
document.write('<td>',Math.round(getal/som*100),'%</td>');
}
}
}
document.write('</tr></table>'); // Einde geneste tabel
document.write('</tr></table>'); // Einde buitenste tabel
// Einde van dit Script -->
</script>
</body>
</html>
Laatst bewerkt door een moderator: