<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<link rel="stylesheet" href="css/estilos.css">
</head>
<body>
<p>
<label for="numero">Introduce el ancho de cajas</label>
<input type="number" id="ancho" value="0">
<label for="numero">Introduce el alto de cajas</label>
<input type="number" id="alto" value="0">
</p>
<div id="contenedor"></div>
<script src="js/script.js"></script>
</body>
</html>
window.onload = function () {
let ancho=document.getElementById("ancho");
let alto=document.getElementById("alto");
// Añado el evento input al input del número para que cuando cambie actue
ancho.addEventListener("input", function(event){
generarCajas();
})
alto.addEventListener("input", function(event){
generarCajas();
})
}
function generarCajas(){
let [ancho,alto]=obtenerValores();
borrarContenedor();
// Crear tantas cajas de ancho y de alto como me pidan
for(let i=1;i<=alto;i++){
let d=document.createElement("div");
for(let j=1;j<=ancho;j++){
let caja=crearCaja(`(${i},${j})`);
d.append(caja);
}
ponerCaja(d);
}
}
function borrarContenedor(){
let contenedor=document.getElementById("contenedor");
contenedor.innerHTML="";
}
function ponerCaja(caja){
let contenedor=document.getElementById("contenedor");
contenedor.append(caja);
}
// Obtengo los valores de mi html
function obtenerValores(){
let ancho=document.getElementById("ancho");
let alto=document.getElementById("alto");
return [Number(ancho.value),Number(alto.value)];
}
// Creo una función aparte para crear la caja
function crearCaja(numero){
let caja=document.createElement("div");
caja.className="caja"; //caja.classList.add("caja")
// Utilizo las cadenas con formato para poner el número
caja.innerHTML=`<p>${numero}</p>`;
return caja;
}