1 of 24

DOM &

JS Events

Javiera Azócar

Jaime Hormazábal

2 of 24

DOM

01

Entendiendo el formato de una página web

3 of 24

Document Object Model (DOM)

Los DOM son una representación la estructura del HTML. Esto es a través de árboles de lógica donde cada rama del árbol termina en un nodo.

Esto será representado con una variable predefinida document lo que tendremos en nuestro

documento JavaScript para poder interactuar con las distintas partes del HTML.�

4 of 24

Variable Document

Con la variable document podremos acceder al HTML desde nuestro script:

Esto sirve para crear y editar elementos en el html. Esto nos servirá para darle vida a nuestros proyectos.

5 of 24

Crear elementos con DOM

Los elementos (h1, h2, p, div) se crean usando el código de .createElement se puede añadir valores dentro de este usando el comando .appendChild

Una vez que terminamos de hacer las ediciones se añaden usando el siguiente comando: document.body.appendChild()

6 of 24

Clases, id y atributos

Clases

ID

Atributos

De la misma manera podemos crear clases, id y atributos. La edición de estos y añadirlo al texto son iguales a lo anterior.

7 of 24

Eventos en JS

02

Abriendo la puerta para interactuar con nuestros usuarios.

8 of 24

¿Qué son los eventos?

  • Eventos de Usuario:
    • Hacer click
    • Pasar el mouse
    • Presionar una tecla
  • Eventos del sistema:
    • Cargar página
    • Finalización de animación

Son las múltiples acciones que puede realizar el usuario o el sistema al interactuar con el documento.

La idea es poder detectarlos y desencadenar alguna acción

9 of 24

Algunos Ejemplos

onclick: Cuando el usuario hace click en un elemento

document.getElementById("boton").addEventListener("click", () => {

alert("¡Botón clickeado!");

});

onmouseover: Cuando el usuario pasa el mouse sobre un elemento

document.getElementById("caja").addEventListener("mouseover", () => {

console.log("El mouse está sobre la caja");

});

onmouseout: Cuando el usuario saca el mouse del elemento

10 of 24

Algunos Ejemplos

keydown: Cuando el usuario presiona una tecla

document.addEventListener("keydown", (event) => {

console.log(`Tecla presionada: ${event.key}`);

});

submit: Cuando se envía un formulario

document.getElementById("fm").addEventListener("submit", (event) => {

event.preventDefault(); // Evita el envío real

alert("Formulario enviado");

});

11 of 24

Algunos Ejemplos

load: Cuando la página carga completamente

window.addEventListener("load", () => {

console.log("Página completamente cargada");

});

Aquí podrán encontrar más ejemplos:

HTML Event Attributes

12 of 24

SVG

03

13 of 24

¿Qué es?

Se utiliza para representar imágenes mediante formas definidas a través de parámetros numéricos en lugar de un conjunto de píxeles, lo que evita la pérdida de calidad al escalar, siendo ideal para gráficos, iconos y diagramas.

Scalable Vector Graphics

14 of 24

SVG en html

<svg width="500" height="300">

<!--Elementos-->

</svg>

(0,0)

(500,0)

(500,300)

(0,300)

15 of 24

Principales elementos SVG

Rectángulo

<svg width="500" height="300">

<rect x="200" y="100" width="300" height="100" fill="blue" stroke="green" stroke-width="5" />

</svg>

  • x=posición dentro del SVG, eje x
  • y=posición dentro del SVG, eje y
  • width=ancho del rectangulo
  • height=altura del rectangulo
  • fill:color de relleno
  • stroke:color del borde

16 of 24

Principales elementos SVG

Círculo

  • cx=posición dentro del SVG, eje x
  • cy=posición dentro del SVG, eje y
  • r=radio,a partir del cx y cy definido
  • fill:color de relleno

<svg width="500" height="300">

<circle cx="100" cy="100" r="50" fill="red" />

</svg>

17 of 24

Principales elementos SVG

Triángulo

  • points=posición (x,y) de cada vértice en el SVG
  • fill:color de relleno

<svg width="500" height="300">

<polygon points="100,10 40,180 160,180" fill="blue" stroke="black" stroke-width="3" />

</svg>

18 of 24

Principales elementos SVG

Elipse

  • cx=posición dentro del SVG, eje x
  • cy=posición dentro del SVG, eje y
  • rx=radio en x, a partir de cx
  • ry=radio en y, a partir de cy
  • fill:color de relleno

<svg width="500" height="300">

<ellipse cx="100" cy="50" rx="100" ry="50" fill="yellow"/>

</svg>

19 of 24

Principales elementos SVG

Línea

  • x1:coordenada x inicio
  • y1:coordenada y inicio
  • x2:coordenada x final
  • y2=coordenada y final
  • stroke:color

<svg width="500" height="300">

<line x1="0" y1="0" x2="500" y2="300" stroke="magenta"/>

</svg>

20 of 24

Principales elementos SVG

Texto

  • x=posición dentro del SVG, eje x
  • y=posición dentro del SVG, eje y
  • font-size:tamaño texto
  • entre tags va el texto

<svg width="500" height="300">

<text x="100" y="200" font-size="34" >hola </text>

</svg>

21 of 24

Algunos efectos

<svg width="500" height="300">

<circle cx="150" cy="100" r="50"

fill="red"/>

<circle cx="150" cy="205" r="50"

fill="red" opacity="0.5"/>

</svg>

Opacidad

22 of 24

Algunos efectos

<svg width="500" height="300">

<ellipse cx="100" cy="50" rx="100"

ry="50"/>

<ellipse cx="100" cy="50" rx="100"

ry="50" transform="translate(0, 200)"/>

</svg>

Transform

Se trasladó 200 en el eje y

23 of 24

Algunos efectos

Rotate

<svg width="500" height="300">

<ellipse cx="100" cy="50" rx="100"

ry="50"/>

<ellipse cx="100" cy="50" rx="100"

ry="50" transform="translate(0, 150)

rotate(45 100 50)"/>

</svg>

grados

centro rotación x

centro rotación y

24 of 24

¡Gracias!

¿Consultas, quejas?

javiera.azcar@uc.cl

jhormazab@uc.cl

CREDITS: Diese Präsentationsvorlage wurde von Slidesgo erstellt, inklusive Icons von Flaticon und Infografiken & Bildern von Freepik