Ich versuche, ein Diagramm für HTML mit JavaScript zu machen. Die HTML-Seite sollte einen Div-Container enthalten, zu dem das Diagramm gehört.kann nicht HTML-Digram angezeigt werden
Ich möchte dies mit einer Funktion, die ich habe, tun; Digram (uDivHTML, uList, uWidth). Der erste Parameter nimmt einen div-internen HTML-Code an, wie im folgenden Code durch die Variable Gramm angezeigt wird.
Der zweite Parameter sollte ein Array nehmen. Das Array soll eine Zeichenkette haben, dann eine Zahl und so weiter.
Der dritte Parameter sollte eine Zahl nehmen, die verwendet wird, um die Länge jeder Pilar zu multiplizieren.
Warum funktioniert das nicht? Ich habe verschiedene Debugger ausprobiert, und habe oft darüber nachgedacht, aber ich kann nicht herausfinden, warum. Jede Hilfe ist willkommen;)
<head>
<title>Test</title>
<meta charset = "UTF-8">
</head>
<body>
<div id = "gram"></div>
<button id = "btn">123</button>
<script>
var gram = document.getElementById("gram").innerHTML;
var myList = [
"norge",20,
"svergie",17,
"danmark",23,
"england",11,
"usa",64
];
function diagram(uDivHTML, uList, uWidth) {
for(var index = 0, colIndex = 0; index < (uList.length - 1); index+=2, colIndex++) {
var col;
switch(colIndex) {
case 0: col = "red";
case 1: col = "blue";
case 2: col = "yellow";
case 3: col = "green";
case 4: col = "orange"; colIndex = 0;
}
var wid = uWidth * uList[index + 1];
uDivHTML +=
"<div style ='height:20px;display:block;color:white;background-color:"+col+";width:"+wid+"px;'>"+
uList[index]+"</div>";
}
}
var btn = document.getElementById("btn");
btn.onclick = diagram(gram, myList, 10);
</script>
</body>
Nun, Ihr 'baut diagram' Funktion eine Zeichenfolge, aber nicht alles mit ihm tun. Die HTML-Zeichenfolge, die Sie in der ersten Zeile des Codes extrahieren, wurde mehrmals aus dem ursprünglichen Kontext entfernt. Wenn Sie den Parameter "uDivHTML" aktualisieren, wird der Seiteninhalt nicht automatisch aktualisiert. – JJJ