Type something to search...
Introducción a Javascript

Introducción a Javascript

Test

Código


<!DOCTYPE html>
<html lang="es">
<head>
  <meta charset="UTF-8">
  <title>Introducción a JavaScript</title>
  <style>
    /* Estilos básicos para la página */
    body {
      font-family: Arial, sans-serif;
      margin: 20px;
    }
    button {
      padding: 10px 20px;
      font-size: 16px;
      cursor: pointer;
    }
  </style>
</head>
<body>
  <h1>¡Bienvenidos a JavaScript!</h1>
  <p>Haz clic en el botón para cambiar el color de fondo de la página.</p>
  <button id="changeColorBtn">Cambiar Color</button>

  <script>
    // 1. Seleccionamos el botón usando su ID
    const button = document.getElementById('changeColorBtn');

    // 2. Función que genera un color aleatorio en formato hexadecimal
    function getRandomColor() {
      const letters = '0123456789ABCDEF';
      let color = '#';
      // El bucle se ejecuta 6 veces para formar un código hexadecimal (# + 6 dígitos)
      for (let i = 0; i < 6; i++) {
        color += letters[Math.floor(Math.random() * 16)];
      }
      return color;
    }

    // 3. Agregamos un "escuchador de eventos" para que cuando se haga clic en el botón se ejecute una función
    button.addEventListener('click', function() {
      // Genera un color aleatorio
      const newColor = getRandomColor();
      // Cambia el color de fondo de la página
      document.body.style.backgroundColor = newColor;
      // Muestra en la consola el nuevo color para ver el resultado
      console.log('El nuevo color de fondo es: ' + newColor);
    });
  </script>
</body>
</html>

Explicación Paso a Paso

Estructura HTML

<!DOCTYPE html>: Indica al navegador que el documento es HTML5.

<html lang="es"> y <head>: Define el idioma del documento y la sección de metadatos.

<meta charset="UTF-8">: Asegura que los caracteres se muestren correctamente.

<title>: Establece el título de la página, que se muestra en la pestaña del navegador.

<style>: Contiene estilos CSS básicos para mejorar la apariencia de la página (tipografía, márgenes y estilos del botón).

Contenido del <body>

<h1> y <p>: Se muestran un título y un párrafo con instrucciones.

<button id="changeColorBtn">: Un botón que el usuario puede presionar para cambiar el color de fondo. Se le asigna el atributo id para poder referenciarlo en JavaScript.

JavaScript (dentro de <script>)

Selección del elemento:

const button = document.getElementById('changeColorBtn');

Se obtiene el elemento del botón por su id para poder trabajar con él.

Función getRandomColor


function getRandomColor() {
  const letters = '0123456789ABCDEF';
  let color = '#';
  for (let i = 0; i < 6; i++) {
    color += letters[Math.floor(Math.random() * 16)];
  }
  return color;
}

Esta función crea un código de color hexadecimal de forma aleatoria:

  • Se define una cadena letters que contiene todos los dígitos y letras posibles en un color hexadecimal.
  • Se inicia la variable color con el símbolo #.
  • El bucle for se ejecuta 6 veces para agregar 6 caracteres aleatorios a la cadena.
  • La función retorna el color generado.

Evento click del botón:


button.addEventListener('click', function() {
  const newColor = getRandomColor();
  document.body.style.backgroundColor = newColor;
  console.log('El nuevo color de fondo es: ' + newColor);
});

Se añade un evento para detectar cuando el usuario hace clic en el botón:

  • Se llama a la función getRandomColor para generar un nuevo color.
  • Se asigna este nuevo color a la propiedad backgroundColor del elemento body, cambiando así el color de fondo.
  • Se imprime en la consola el nuevo color, lo que ayuda a ver el resultado en la herramienta de desarrollo del navegador.

Publicaciones relacionadas

Semáforo sencillo

Semáforo sencillo

// C++ code //// Pines de los LEDs del semáforo sencillo const int LED_VERDE = 2; const int LED_AMARILLO = 3; const int LED_ROJO = 4;void setup() { // Configuración de los pines OUTPUT

read more
Web climatológica con hora

Web climatológica con hora

ÍndiceÍndice ¿Qué es una página web? Ejemplos de páginas web: [¿Cómo se construye una página web?](#cómo-se-construye-u

read more
Semáforos Coordinados

Semáforos Coordinados

Semáforos coordinados Introducción En este proyecto, vamos a crear un sistema de semáforos coordinados utilizando Arduino.

read more
Markdown Style Guide

Markdown Style Guide

Here is a sample of some basic Markdown syntax that can be used when writing Markdown content in Astro. Headings The following HTML <h1>—<h6> elements represent six levels of section headings

read more
Pantallas LCD

Pantallas LCD

Introducción a las Pantallas LCD Las pantallas LCD (Liquid Crystal Display) son dispositivos electrónicos utilizados para mostrar información de manera clara y eficiente. Estas pantallas son muy co

read more
Personalizar caracteres en LCD

Personalizar caracteres en LCD

ÍndiceExplicación del Código Componentes Clave del Código Librería LiquidCrystal_I2C [In

read more
Semáforo Doble

Semáforo Doble

Descripción del código Este programa controla el funcionamiento de dos semáforos simulados utilizando un Arduino. Cada semáforo cuenta con tres luces LED: verde, amarillo y rojo. El programa altern

read more
Galería Web

Galería Web

Introducción Este proyecto está diseñado para comprender las bases del desarrollo web, comenzando con HTML y CSS básicos y progresando a JavaScript interactivo. Se divide en **cuatro etapas evoluti

read more
Controlador L298N DC Motor para Arduino

Controlador L298N DC Motor para Arduino

Introduccion Si bien eventualmente necesitarás aprender a controlar motores de CC para construir tu propio robot, probablemente necesitarás algo un poco más fácil para comenzar, y ahí es donde entr

read more
Componentes HTML

Componentes HTML

import YouTubeEmbed from '../../layouts/components/YouTubeEmbed.astro'; Componentes HTML y Estilos CSS En este blog explicativo se muestran los componentes principales de HTML y estilos CSS para

read more
Portafolio web

Portafolio web

Proyecto: Página Personal o Portafolio Web Objetivo Crear una página web personal en la que se muestre:Una cabecera con tu nombre y un menú de navegación. Una sección "Sobre Mí" co

read more
Juego de adivinar el número

Juego de adivinar el número

Proyecto: Juego de Adivinar el Número Objetivo Crear un juego interactivo en el que el usuario debe adivinar un número aleatorio entre 1 y 100. El juego brindará retroalimentación indicando si

read more
Examen Práctico: Mi Página Personal

Examen Práctico: Mi Página Personal

Examen Práctico: Objetivo Crear una página web personal con diseño moderno en la que se muestre:Una cabecera fija con tu nombre y un menú de navegación interactivo. **Una sección "Sob

read more
Bases para la Elaboración del Reporte Breve del Proyecto

Bases para la Elaboración del Reporte Breve del Proyecto

📝 Bases para la Elaboración del Reporte Breve del ProyectoFormato: Documento Word (máximo 4 páginas)Entrega: En formato digital (PDF), cargar en el apartado de Archivos.

read more
Mascota virtual

Mascota virtual

🐾 Proyecto: Mascota Virtual en Escritorio con Python Este proyecto te guiará paso a paso para crear una mascota virtual que se mueva por tu pantalla de Windows y muestre mensajes motivadores c

read more
Mascota virtual

Mascota virtual

🐾 Proyecto: Mascota Virtual en Escritorio con Python Este proyecto te guiará paso a paso para crear una mascota virtual que se mueva por tu pantalla de Windows y muestre mensajes motivadores c

read more