-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathJSprint3.js
83 lines (71 loc) · 3.07 KB
/
JSprint3.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
/*
CLASE 12 DE OCTUBRE - SPRINT 4 (RETO 4) - JS (VotApp)
*/
var vectorCandidatos = new Array(4); // 4 Índices para 4 candidatos
// Se incia el conteo de votos desde 0 para cada candidato
vectorCandidatos[0] = 0;
vectorCandidatos[1] = 0;
vectorCandidatos[2] = 0;
vectorCandidatos[3] = 0;
// Función que suma un 1 cada vez que se da click sobre "Votar" en determinado candidato
function votar(candidato) {
vectorCandidatos[candidato] = vectorCandidatos[candidato] + 1; // Le suma 1 al valor del índice
alert("Gracias por su voto!");
}
// Función que nos muestra el resultado o el escrutinio de la votación
function resultados() {
let total = vectorCandidatos[0] + vectorCandidatos[1] + vectorCandidatos[2] + vectorCandidatos[3];
let porCan1 = (vectorCandidatos[0] / total) * 100;
let porCan2 = (vectorCandidatos[1] / total) * 100;
let porCan3 = (vectorCandidatos[2] / total) * 100;
let porCan4 = (vectorCandidatos[3] / total) * 100;
let nodoParrafo = document.createElement('p');
let nodoParrafo2 = document.createElement('p');
let nodoParrafo3 = document.createElement('p');
let nodoParrafo4 = document.createElement('p');
let texto = document.createTextNode("Votos Candidato 1: " + vectorCandidatos[0] + " - Porcentaje: " + porCan1 + "%");
let texto2 = document.createTextNode("Votos Candidato 2: " + vectorCandidatos[1] + " - Porcentaje: " + porCan2 + "%");
let texto3 = document.createTextNode("Votos Candidato 3: " + vectorCandidatos[2] + " - Porcentaje: " + porCan3 + "%");
let texto4 = document.createTextNode("Votos Candidato 4: " + vectorCandidatos[3] + " - Porcentaje: " + porCan4 + "%");
nodoParrafo.appendChild(texto);
nodoParrafo2.appendChild(texto2);
nodoParrafo3.appendChild(texto3);
nodoParrafo4.appendChild(texto4);
let elementoDiv = document.getElementById('EstVot');
elementoDiv.appendChild(nodoParrafo);
elementoDiv.appendChild(nodoParrafo2);
elementoDiv.appendChild(nodoParrafo3);
elementoDiv.appendChild(nodoParrafo4);
// CÓDIGO DE LA GRÁFICA:
// Obtener una referencia al elemento canvas del DOM
const $grafica = document.querySelector("#grafica");
// Las etiquetas son las que van en el eje X.
const etiquetas = ["Petro", "Fico", "Rodolfo", "Fajardo"]
// Podemos tener varios conjuntos de datos. Comencemos con uno
const datosVotos = {
label: "Total de votos",
data: [vectorCandidatos[0], vectorCandidatos[1], vectorCandidatos[2], vectorCandidatos[3]], // La data es un arreglo que debe tener la misma cantidad de valores que la cantidad de etiquetas
backgroundColor: 'rgba(54, 162, 235, 0.2)', // Color de fondo
borderColor: 'rgba(54, 162, 235, 1)', // Color del borde
borderWidth: 1,// Ancho del borde
};
new Chart($grafica, {
type: 'line',// Tipo de gráfica
data: {
labels: etiquetas,
datasets: [
datosVotos,
// Aquí más datos...
]
},
options: {
scales: {
yAxes: [{
ticks: {
beginAtZero: true
}
}],
},
}
});
}