2
我遇到了問題,我需要垂直條而不是水平條。我如何需要更改代碼?例如,這個程序的使用是讓老師輸入考試結果,並獲得一個很好的圖表來比較學生。更改代碼以在javascript中獲得豎線吧
HTML代碼:
<head>
<title>examAnalysis</title>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<script type="text/javascript" src="examAnalysis.js"></script>
</head>
<body>
<button onclick="gatherData()">Add Participant</button>
<h4>Chart</h4>
<div id="chart"></div>
</body>
JavaScript代碼:
var participant = [];
var maxPoints = 200;
var barHeight = 20;
function gatherData() {
var name = window.prompt('Please enter the name of the participant:');
var points = window.prompt('Please enter the achieved points of the participant:');
name = name.replace(/\s+/g, '');
points = parseInt(points, 10);
if (name !== '' && !isNaN(points)) {
participant.push({name: name, points: points});
}
createChart();
};
function createChart() {
var i = 0;
var len = participant.length;
var bar = null;
var container = document.getElementById('chart');
container.innerHTML='';
while (i < len) {
bar = document.createElement('div');
bar.style.height = barHeight + 'px';
bar.style.marginBottom = '5px';
bar.style.backgroundColor = getRandomColor();
bar.style.width = ((participant[i].points/maxPoints) * 100) + '%';
bar.innerHTML = ['<p>', participant[i].name, '</p>'].join('');
container.appendChild(bar);
i = i+1;
}
};
function getRandomColor() {
return ['rgb(', Math.floor(Math.random() * 255), ', ', Math.floor(Math.random() * 255), ', ', Math.floor(Math.random() * 255), ')'].join('');
};