Proyectos (DIA 1 - 13)

Realizados gracias al curso "JAVASCRIPT TOTAL"
This commit is contained in:
Cris
2026-01-30 19:16:11 -05:00
committed by GitHub
commit 03a7ef3253
67 changed files with 2204 additions and 0 deletions
+24
View File
@@ -0,0 +1,24 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Venta de Donuts</title>
<link rel="stylesheet" href="styles.css">
<script src="script.js"></script>
</head>
<body onload="crearTiendas('itemsTienda', 0, 6)">
<p>&#127849 Venta de MaDona &#127849</p>
<div id="itemsTienda">
</div>
<p id="parrafoSalida">
</p>
<p>
<button onclick="calcular()">Calcular</button>
</p>
</body>
</html>
+121
View File
@@ -0,0 +1,121 @@
function crearTiendas(contenedorID, min, cantidadTiendas) {
// Encontrar contenedor por su ID
let elementoContenedor = document.getElementById(contenedorID);
// Loop para crear tantas tiendas como se pidan
for(let conteoTiendas=1; conteoTiendas<=cantidadTiendas; conteoTiendas++) {
// Crear el texto de label para poder llamar a la función
let textoEtiqueta = "Tienda " + conteoTiendas;
// Crear tiendas con crearParrafoTienda()
let parrafoTienda = crearParrafoTienda(textoEtiqueta, min);
// Agregar el parrafo al contenedor
elementoContenedor.appendChild(parrafoTienda);
}
}
function crearParrafoTienda(textoLabel, valorMin) {
// Crear las etiquetas <p>
let elementoParrafo = document.createElement("p");
// Crear la etiquera <label>
let elementoEtiqueta = document.createElement("label");
elementoEtiqueta.innerText = textoLabel + ": ";
// Conectar con <input>
elementoEtiqueta.setAttribute("for", textoLabel);
// Crear el <input>
let elementoInput = document.createElement("input");
// Establecer atributos de input
elementoInput.setAttribute("type", "number");
elementoInput.setAttribute("id", textoLabel);
elementoInput.setAttribute("min", valorMin);
elementoInput.setAttribute("value", 0);
// Agregar label e input al parrafo
elementoParrafo.appendChild(elementoEtiqueta);
elementoParrafo.appendChild(elementoInput);
// Devolver el parrafo completo
return elementoParrafo;
}
function extraerNumeroDesdeElemento(elemento) {
let miTexto = elemento.value;
let miNumero = Number(miTexto);
return miNumero;
}
function calcular() {
let ventas = [];
let posicionVentas = 0;
let elementosVentas = document.getElementById("itemsTienda");
for(let item of elementosVentas.children) {
let valorVenta = extraerNumeroDesdeElemento(item.children[1]);
ventas[posicionVentas] = valorVenta;
posicionVentas = posicionVentas + 1;
}
let totalVentas = sumarTotal(ventas);
let ventaMayor = calcularMayor(ventas);
let ventaMenor = calcularMenor(ventas);
for (let item of elementosVentas.children) {
let valorVenta = extraerNumeroDesdeElemento(item.children[1]);
item.children[1].className = "menuNeutro";
if(valorVenta==ventaMayor) {
item.children[1].className = "menuInputMayor";
}
if(valorVenta==ventaMenor) {
item.children[1].className = "menuInputMenor";
}
}
let mensajeSalida = "Total Ventas: " + totalVentas;
let elementoSalida = document.getElementById("parrafoSalida");
elementoSalida.textContent = mensajeSalida;
}
function sumarTotal(array) {
let total = 0;
for(let venta of array) {
total = total + venta;
}
return total;
}
function calcularMayor(array) {
let maximo = array[0];
for (let venta of array) {
if (venta > maximo) {
maximo = venta;
}
}
return maximo;
}
function calcularMenor(array) {
let minimo = array[0];
for (let venta of array) {
if (venta < minimo) {
minimo = venta;
}
}
return minimo;
}
+7
View File
@@ -0,0 +1,7 @@
.menuInputMayor {
background-color: greenyellow;
}
.menuInputMenor {
background-color: lightsalmon;
}