Loading repository data…
Loading repository data…
Seb-RM / repository
Una aplicación web simple y elegante para contar números, desarrollada con tecnologías web básicas. Permite incrementar, decrementar y reiniciar un contador .
Una aplicación web simple y elegante para contar números, desarrollada con tecnologías web básicas. Permite incrementar, decrementar y reiniciar un contador visualmente atractivo.
Esta aplicación resuelve la necesidad de un contador interactivo básico, ideal para demostraciones, pruebas de interfaz o como componente educativo en desarrollo web. El proyecto destaca por su simplicidad, responsividad y animaciones suaves, ofreciendo una experiencia de usuario intuitiva. Está dirigido a desarrolladores principiantes que buscan ejemplos prácticos de manipulación del DOM, manejo de eventos y estilos CSS dinámicos.
Para ver la aplicación en funcionamiento, abre el archivo index.html directamente en tu navegador web o visita la demo en vivo. La interfaz muestra un número central con tres botones debajo. Al interactuar, el número cambia de color dinámicamente y se anima suavemente.
| Tecnología | Versión | Propósito |
|---|---|---|
| 5 | Estructura de la página web | |
| 3 | Estilos y animaciones | |
| ES6+ | Lógica interactiva y manipulación del DOM |
No se requieren dependencias externas ni instalación compleja. La aplicación es completamente estática.
index.html directamente en tu navegador web.# No hay comandos de instalación necesarios
# Simplemente abre index.html en tu navegador
Requisitos del sistema:
index.html en tu navegador.La aplicación no requiere configuración adicional, pero puedes modificar los estilos en style.css o la lógica en script.js para personalizar el comportamiento.
Propósito: Define la estructura básica de la página web, incluyendo el contenedor del contador y los botones de control.
Conceptos Clave:
Fragmentos Destacados:
<div class="container">
<h1>Counter</h1>
<span id="value">0</span>
<div>
<button class="btn" id="decrease">Decrease</button>
<button class="btn" id="reset">Reset</button>
<button class="btn" id="increase">Increase</button>
</div>
</div>
API/DOM: Utiliza elementos <span> y <button> con IDs únicos para acceso directo vía document.querySelector(). Los botones disparan eventos de clic que son capturados por JavaScript.
Propósito: Implementa la lógica de negocio del contador, manejando eventos de usuario y actualizando la interfaz dinámicamente.
Conceptos Clave:
Fragmentos Destacados:
btns.forEach( btn => {
btn.addEventListener("click", e => {
let elementID = e.currentTarget.id;
if(elementID == "decrease") {
count--;
} else if(elementID == "reset") {
count = 0;
} else {
count++;
}
value.textContent = count;
value.style.color = count > 0 ? "green" : count < 0 ? "red" : "#007bff";
});
});
API/DOM:
document.querySelector() y querySelectorAll() para acceder a elementos por ID y clase.addEventListener("click") para capturar interacciones del usuario.textContent para actualizar el texto del contador; style.color para cambios visuales basados en estado.Propósito: Define la apariencia visual de la aplicación, incluyendo layout, colores, animaciones y responsividad.
Conceptos Clave:
@keyframesFragmentos Destacados:
body {
background-color: #b0b0b0;
min-height: 100vh;
color: #333;
line-height: 1.5;
display: grid;
place-items: center;
}
@keyframes containerAnimation {
from {
opacity: 0;
transform: translateY(-20px);
}
to {
opacity: 1;
transform: translateY(0);
}
}
#value {
font-size: 72px;
font-weight: bold;
color: #007bff;
transition: color 0.3s ease-in-out;
}
API/DOM:
display: grid y place-items: center para centrado perfecto.@keyframes para entrada del contenedor; transition para cambios de color suaves.#value se modifica vía JavaScript, aprovechando transition para efectos visuales.vh, px y porcentajes para adaptabilidad; box-sizing: border-box para consistencia.Este proyecto sigue una arquitectura simple de aplicación web estática:
(Diagrama simple: Usuario clica botón → JS procesa → DOM actualiza → CSS anima)