From c2226664bdc9cac0e425286fac7a4c42a2ac3e34 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 18:44:04 -0500 Subject: [PATCH 01/11] Spanish translation day 21 of 30 --- .../dia_20_escribiendo_codigos_limpios.md | 4 +- Spanish/dia_21_DOM/dia_21_dom.md | 407 ++++++++++++++++++ 2 files changed, 409 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_21_DOM/dia_21_dom.md diff --git a/Spanish/dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md b/Spanish/dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md index b645d5d..4257786 100644 --- a/Spanish/dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md +++ b/Spanish/dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md @@ -14,7 +14,7 @@ -[<< Día 19](../dia_19_Closures/dia_19_closures.md) | [Día 21 >>](..) +[<< Día 19](../dia_19_Closures/dia_19_closures.md) | [Día 21 >>](../dia_21_DOM/dia_21_dom.md) ![Thirty Days Of JavaScript](../images/banners/day_1_20.png) @@ -373,4 +373,4 @@ Sea cual sea la guía de estilo que sigas, sé coherente. Sigue algunos paradigm 🎉 ¡FELICITACIONES! 🎉 -[<< Día 19](../dia_19_Closures/dia_19_closures.md) | [Día 21 >>](..) +[<< Día 19](../dia_19_Closures/dia_19_closures.md) | [Día 21 >>](../dia_21_DOM/dia_21_dom.md) diff --git a/Spanish/dia_21_DOM/dia_21_dom.md b/Spanish/dia_21_DOM/dia_21_dom.md new file mode 100644 index 0000000..ba4a290 --- /dev/null +++ b/Spanish/dia_21_DOM/dia_21_dom.md @@ -0,0 +1,407 @@ +
+

30 Días de JavaScript: Document Object Model(DOM)

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_21.png) + +- [Día 21](#día-21) + - [Document Object Model (DOM) - Día 1](#document-object-model-dom---día-1) + - [Obtención del elemento](#obtención-del-elemento) + - [Obtener elementos por nombre de etiqueta](#obtener-elementos-por-nombre-de-etiqueta) + - [Obtener elementos por el nombre de la clase](#obtener-elementos-por-el-nombre-de-la-clase) + - [Obtener un elemento por id](#obtener-un-elemento-por-id) + - [Obtener elementos mediante métodos querySelector](#obtener-elementos-mediante-métodos-queryselector) + - [Añadir atributo](#añadir-atributo) + - [Añadir un atributo con setAttribute](#añadir-un-atributo-con-setattribute) + - [Añadir atributo sin setAttribute](#añadir-atributo-sin-setattribute) + - [Añadir una clase mediante classList](#añadir-una-clase-mediante-classlist) + - [Eliminación de la clase mediante remove](#eliminación-de-la-clase-mediante-remove) + - [Añadir texto a un elemento HTML](#añadir-texto-a-un-elemento-html) + - [Añadir contenido de texto usando textContent](#añadir-contenido-de-texto-usando-textcontent) + - [Añadir contenido de texto usando innerHTML](#añadir-contenido-de-texto-usando-innerhtml) + - [textContent](#textcontent) + - [innerHTML](#innerhtml) + - [Añadir estilo](#añadir-estilo) + - [Añadir estilo color](#añadir-estilo-color) + - [Añadir estilo Background Color](#añadir-estilo-background-color) + - [Añadir estilo Font Size](#añadir-estilo-font-size) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + - [Ejercicios: Nivel 2](#ejercicios-nivel-2) + - [Ejercicios: Nivel 3](#ejercicios-nivel-3) + - [DOM: Mini proyecto 1](#dom-mini-proyecto-1) + +# Día 21 + +## Document Object Model (DOM) - Día 1 + +El documento HTML está estructurado como un objeto JavaScript. Cada elemento HTML tiene diferentes propiedades que pueden ayudar a manipularlo. Es posible obtener, crear, añadir o eliminar elementos HTML mediante JavaScript. Compruebe los ejemplos siguientes. La selección de elementos HTML mediante JavaScript es similar a la selección mediante CSS. Para seleccionar un elemento HTML, utilizamos el nombre de la etiqueta, el id, el nombre de la clase u otros atributos. + +### Obtención del elemento + +Podemos acceder al elemento o elementos ya creados mediante JavaScript. Para acceder u obtener elementos utilizamos diferentes métodos. El código siguiente tiene cuatro elementos _h1_. Veamos los diferentes métodos para acceder a los elementos _h1_. + +```html + + + + Document Object Model - (Modelo de objeto de documento) + + +

First Title

+

Second Title

+

Third Title

+

+ + +``` + +#### Obtener elementos por nombre de etiqueta + +**_getElementsByTagName()_**:toma un nombre de etiqueta como parámetro de cadena y este método devuelve un objeto HTMLCollection. Una HTMLCollection es un objeto tipo array de elementos HTML. La propiedad length proporciona el tamaño de la colección. Siempre que usamos este método accedemos a los elementos individuales usando el índice o después de hacer un bucle a través de cada elemento individual. Un HTMLCollection no soporta todos los métodos de los arrays, por lo que deberíamos utilizar un bucle for normal en lugar de forEach. + +```js +// sintaxis +document.getElementsByTagName("tagname"); +``` + +```js +const allTitles = document.getElementsByTagName("h1"); + +console.log(allTitles); //HTMLCollections +console.log(allTitles.length); // 4 + +for (let i = 0; i < allTitles.length; i++) { + console.log(allTitles[i]); // imprime cada uno de los elementos de la HTMLCollection +} +``` + +#### Obtener elementos por el nombre de la clase + +El método **_getElementsByClassName()_** devuelve un objeto HTMLCollection. Una HTMLCollection es una lista tipo array de elementos HTML. La propiedad length proporciona el tamaño de la colección. Es posible realizar un bucle a través de todos los elementos de HTMLCollection. Vea el siguiente ejemplo + +```js +//sintaxis +document.getElementsByClassName("classname"); +``` + +```js +const allTitles = document.getElementsByClassName("title"); + +console.log(allTitles); //HTMLCollections +console.log(allTitles.length); // 4 + +for (let i = 0; i < allTitles.length; i++) { + console.log(allTitles[i]); // imprime cada uno de los elementos de la HTMLCollection +} +``` + +#### Obtener un elemento por id + +**_getElementsById()_** tiene como objetivo un único elemento HTML. Pasamos el id sin # como argumento. + +```js +//sintaxis +document.getElementById("id"); +``` + +```js +let firstTitle = document.getElementById("first-title"); +console.log(firstTitle); //

First Title

+``` + +#### Obtener elementos mediante métodos querySelector + +El método _document.querySelector_ puede seleccionar un HTML o elementos HTML por nombre de etiqueta, por id o por nombre de clase. + +**_querySelector_**: se puede utilizar para seleccionar elementos HTML por su nombre de etiqueta, id o clase. Si se utiliza el nombre de la etiqueta, sólo se selecciona el primer elemento. + +```js +let firstTitle = document.querySelector("h1"); // seleccionar el primer elemento h1 disponible +let firstTitle = document.querySelector("#first-title"); // selecciona el id con first-title +let firstTitle = document.querySelector(".title"); // seleccionar el primer elemento disponible con clase title +``` + +**_querySelectorAll_**: se puede utilizar para seleccionar elementos html por su nombre de etiqueta o clase. Devuelve un nodeList que es un objeto tipo array que soporta métodos de array. Podemos utilizar **_bucle for_** o **_forEach_** para recorrer cada elemento de nodeList. + +```js +const allTitles = document.querySelectorAll('h1') # selects all the available h1 elements in the page + +console.log(allTitles.length) // 4 +for (let i = 0; i < allTitles.length; i++) { + console.log(allTitles[i]) +} + +allTitles.forEach(title => console.log(title)) +const allTitles = document.querySelectorAll('.title') // lo mismo ocurre con la selección mediante la clase +``` + +### Añadir atributo + +En la etiqueta de apertura de HTML se añade un atributo que proporciona información adicional sobre el elemento. Atributos HTML comunes: id, class, src, style, href, disabled, title, alt. Añadamos id y class para el cuarto título. + +```js +const titles = document.querySelectorAll("h1"); +titles[3].className = "title"; +titles[3].id = "fourth-title"; +``` + +#### Añadir un atributo con setAttribute + +El método **_setAttribute()_** establece cualquier atributo html. Toma dos parámetros: el tipo de atributo y el nombre del atributo. +Agreguemos la clase y el atributo id para el cuarto título. + +```js +const titles = document.querySelectorAll("h1"); +titles[3].setAttribute("class", "title"); +titles[3].setAttribute("id", "fourth-title"); +``` + +#### Añadir atributo sin setAttribute + +Podemos utilizar el método normal de configuración de objetos para establecer un atributo, pero esto no puede funcionar para todos los elementos. Algunos atributos son propiedades de los objetos del DOM y se pueden establecer directamente. Por ejemplo, id y class + +```js +//otra forma de establecer un atributo +titles[3].className = "title"; +titles[3].id = "fourth-title"; +``` + +#### Añadir una clase mediante classList + +El método classList es un buen método para añadir clases adicionales. No anula la clase original si existe una clase, sino que añade una clase adicional para el elemento. + +```js +//otra forma de establecer un atributo: anexar la clase, no se sobrepone a +titles[3].classList.add("title", "header-title"); +``` + +#### Eliminación de la clase mediante remove + +De forma similar a la adición, también podemos eliminar la clase de un elemento. Podemos eliminar una clase específica de un elemento. + +```js +//otra forma de establecer un atributo: anexar la clase, no se sobrepone a +titles[3].classList.remove("title", "header-title"); +``` + +### Añadir texto a un elemento HTML + +Un HTML es un bloque compuesto por una etiqueta de apertura, una etiqueta de cierre y un contenido de texto. Podemos añadir un contenido de texto utilizando la propiedad _textContent_ o \*innerHTML. + +#### Añadir contenido de texto usando textContent + +La propiedad _textContent_ se utiliza para añadir texto a un elemento HTML. + +```js +const titles = document.querySelectorAll("h1"); +titles[3].textContent = "Fourth Title"; +``` + +#### Añadir contenido de texto usando innerHTML + +La mayoría de la gente se confunde entre _textContent_ y _innerHTML_. _textContent_ está pensado para añadir texto a un elemento HTML, sin embargo innerHTML puede añadir un elemento o elementos de texto o HTML como hijo. + +##### textContent + +Asignamos la propiedad del objeto HTML _textContent_ a un texto + +```js +const titles = document.querySelectorAll("h1"); +titles[3].textContent = "Fourth Title"; +``` + +##### innerHTML + +Usamos la propiedad innerHTML cuando queremos reemplazar o un contenido hijo completamente nuevo a un elemento padre. +El valor que asignemos será una cadena de elementos HTML. + +```html + + + + JavaScript para todos:DOM + + +
+

Asabeneh Yetayeh desafíos en 2020

+

Reto 30DaysOfJavaScript

+ +
+ + + +``` + +La propiedad innerHTML puede permitirnos también eliminar todos los hijos de un elemento padre. En lugar de utilizar removeChild() yo recomendaría el siguiente método. + +```html + + + + JavaScript for Everyone:DOM + + +
+

Asabeneh Yetayeh challenges in 2020

+

30DaysOfJavaScript Challenge

+ +
+ + + +``` + +### Añadir estilo + +#### Añadir estilo Color + +Añadamos un poco de estilo a nuestros títulos. Si el elemento tiene índice par le damos color verde sino rojo. + +```js +const titles = document.querySelectorAll("h1"); +titles.forEach((title, i) => { + title.style.fontSize = "24px"; // todos los títulos tendrán un tamaño de letra de 24px + if (i % 2 === 0) { + title.style.color = "green"; + } else { + title.style.color = "red"; + } +}); +``` + +#### Añadir estilo Background Color + +Añadamos un poco de estilo a nuestros títulos. Si el elemento tiene índice par le damos color verde sino rojo. + +```js +const titles = document.querySelectorAll("h1"); +titles.forEach((title, i) => { + title.style.fontSize = "24px"; // todos los títulos tendrán un tamaño de letra de 24px + if (i % 2 === 0) { + title.style.backgroundColor = "green"; + } else { + title.style.backgroundColor = "red"; + } +}); +``` + +#### Añadir estilo Font Size + +Añadamos algo de estilo a nuestros títulos. Si el elemento tiene índice par le damos 20px sino 30px + +```js +const titles = document.querySelectorAll("h1"); +titles.forEach((title, i) => { + title.style.fontSize = "24px"; // todos los títulos tendrán un tamaño de letra de 24px + if (i % 2 === 0) { + title.style.fontSize = "20px"; + } else { + title.style.fontSize = "30px"; + } +}); +``` + +Como has notado, las propiedades de css cuando lo usamos en JavaScript va a ser un camelCase. Las siguientes propiedades CSS cambian de background-color a backgroundColor, font-size a fontSize, font-family a fontFamily, margin-bottom a marginBottom. + +--- + +🌕 Ahora, estás completamente dotado de un súper poder, has completado la parte más importante y desafiante del desafío y en general de JavaScript. Has aprendido DOM y ahora tienes la capacidad de construir y desarrollar aplicaciones. Ahora haz algunos ejercicios para tu cerebro y para tus músculos. + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Crear un archivo index.html y poner cuatro elementos p: Obtenga el primer párrafo utilizando **_document.querySelector(tagname)_** y el nombre de la etiqueta +2. Obtener cada uno de los párrafos usando **_document.querySelector('#id')_** mediante su id +3. Obtener todos los p como nodeList usando **_document.querySelectorAll(tagname)_** por su nombre de etiqueta +4. Recorrer nodeList y obtener el contenido del texto de cada párrafo +5. Establecer un textContent para el párrafo del cuarto párrafo,**_Fourth Paragraph_** +6. Establezca los atributos id y class para todos los párrafos utilizando diferentes métodos de establecimiento de atributos + +### Ejercicios: Nivel 2 + +1. Cambiar el estilo de cada párrafo mediante JavaScript (ej, color, fondo, borde, tamaño de la fuente, familia de la fuente) +1. Seleccione todos los párrafos y haga un bucle a través de cada uno de los elementos y dé al primer y tercer párrafo un color verde, y al segundo y cuarto párrafo un color rojo +1. Establecer textContent, id y class a cada párrafo + +### Ejercicios: Nivel 3 + +#### DOM: Mini proyecto 1 + +1. Desarrolle la siguiente aplicación, utilice los siguientes elementos HTML para empezar. Obtendrá el mismo código en la carpeta de inicio. Aplique todos los estilos y la funcionalidad utilizando sólo JavaScript. + + - El color del año cambia cada 1 segundo + - El color de fondo de la fecha y la hora cambia cada dos segundos + - El reto completado tiene fondo verde + - El desafío en curso tiene fondo amarillo + - Los próximos retos tienen fondo rojo + +```html + + + + + JavaScript para todos: DOM + + +
+

Asabeneh Yetayeh retos en 2020

+

Reto 30DaysOfJavaScript

+ +
+ + +``` + +![Project 1](../images/projects/dom_min_project_challenge_info_day_1.1.gif) + +![Project 2](../images/projects/dom_min_project_challenge_info_day_1.1.png) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](..) From 424fc695df0cb2af8515ffc9436d41551399ff83 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 20:01:17 -0500 Subject: [PATCH 02/11] Spanish translation day 22 of 30 --- Spanish/dia_21_DOM/dia_21_dom.md | 4 +- .../dia_22_manipulacion_del_objeto_dom.md | 224 ++++++++++++++++++ 2 files changed, 226 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md diff --git a/Spanish/dia_21_DOM/dia_21_dom.md b/Spanish/dia_21_DOM/dia_21_dom.md index ba4a290..47440d0 100644 --- a/Spanish/dia_21_DOM/dia_21_dom.md +++ b/Spanish/dia_21_DOM/dia_21_dom.md @@ -14,7 +14,7 @@ -[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](..) +[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) ![Thirty Days Of JavaScript](../images/banners/day_1_21.png) @@ -404,4 +404,4 @@ Como has notado, las propiedades de css cuando lo usamos en JavaScript va a ser 🎉 ¡FELICITACIONES! 🎉 -[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](..) +[<< Día 20](../dia_20_Escribiendo_Codigos_Limpios/dia_20_escribiendo_codigos_limpios.md) | [Día 22 >>](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) diff --git a/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md b/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md new file mode 100644 index 0000000..dc4845e --- /dev/null +++ b/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md @@ -0,0 +1,224 @@ +
+

30 Días de JavaScript: Manipulación del Objeto DOM

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_22.png) + +- [Día 22](#día-22) + - [DOM(Document Object Model)-Día 2](#domdocument-object-model-día-2) + - [Creando un elemento](#creando-un-elemento) + - [Creación de elementos](#creación-de-elementos) + - [Añadir un hijo a un elemento padre](#añadir-un-hijo-a-un-elemento-padre) + - [Eliminar un elemento hijo de un nodo padre](#eliminar-un-elemento-hijo-de-un-nodo-padre) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + - [Ejercicios: Nivel 2](#ejercicios-nivel-2) + - [Ejercicios: Nivel 3](#ejercicios-nivel-3) + +# Día 22 + +## DOM(Document Object Model)-Día 2 + +### Creando un elemento + +Para crear un elemento HTML utilizamos el nombre de la etiqueta. La creación de un elemento HTML mediante JavaScript es muy sencilla y directa. Utilizamos el método _document.createElement()_. El método toma un nombre de etiqueta de elemento HTML como parámetro de cadena. + +```js +// sintaxus +document.createElement("tagname"); +``` + +```html + + + + Document Object Model:30 Days Of JavaScript + + + + + + +``` + +### Creación de elementos + +Para crear múltiples elementos debemos utilizar el bucle. Usando el bucle podemos crear tantos elementos HTML como queramos. +Después de crear el elemento podemos asignar valor a las diferentes propiedades del objeto HTML. + +```html + + + + Document Object Model:30 Days Of JavaScript + + + + + + +``` + +### Añadir un hijo a un elemento padre + +Para ver un elemento creado en el documento HTML debemos añadirlo al padre como elemento hijo. Podemos acceder al cuerpo del documento HTML utilizando _document.body_. El _document.body_ soporta el método _appendChild()_. Vea el ejemplo siguiente. + +```html + + + + Document Object Model:30 Days Of JavaScript + + + + + + +``` + +### Eliminar un elemento hijo de un nodo padre + +Después de crear un HTML, es posible que queramos eliminar uno o varios elementos y podemos utilizar el método _removeChild()_. + +**Ejemplo:** + +```html + + + + + Document Object Model:30 Days Of JavaScript + + + +

Removing child Node

+

Asabeneh Yetayeh challenges in 2020

+ + + + + + +``` + +Como hemos visto en la sección anterior hay una forma mejor de eliminar todos los elementos HTML internos o hijos de un elemento padre utilizando el método _innerHTML_ propiedades. + +```html + + + + + Document Object Model:30 Days Of JavaScript + + + +

Removing child Node

+

Asabeneh Yetayeh challenges in 2020

+ + + + + + +``` + +El fragmento de código anterior borró todos los elementos hijos. + +--- + +🌕 Eres muy especial, estás progresando cada día. Ahora, sabes cómo destruir un elemento DOM creado cuando es necesario. Aprendiste DOM y ahora tienes la capacidad de construir y desarrollar aplicaciones. Te quedan sólo ocho días para tu camino a la grandeza. Ahora haz algunos ejercicios para tu cerebro y para tus músculos. + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Crear un div contenedor en el documento HTML y crear 100 a 100 números dinámicamente y anexar al div contenedor. + - El fondo de los números pares es verde + - El fondo de los números impares es amarillo + - El fondo de los números primos es rojo + +![Number Generator](./../images/projects/dom_min_project_day_number_generators_2.1.png) + +### Ejercicios: Nivel 2 + +1. Utilice el array de países para mostrar todos los países. Vea el diseño + +![World Countries List](./../images/projects/dom_min_project_countries_aray_day_2.2.png) + +### Ejercicios: Nivel 3 + +Compruebe los requisitos de este proyecto a partir de ambas imágenes (jpg y gif). Todos los datos y el CSS se han implementado utilizando únicamente JavaScript. Los datos se encuentran en la carpeta de inicio del proyecto\*3. El botón desplegable se ha creado utilizando el [details\*](https://www.w3schools.com/tags/tag_details.asp) elemento HTML. + +![Challenge Information](./../images/projects/dom_mini_project_challenge_info_day_2.3.gif) + +![Challenge Information](./../images/projects/dom_mini_project_challenge_info_day_2.3.png) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](..) From 31af27e90b9b77acc2ad87e2f27d84d14bd776df Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 20:51:08 -0500 Subject: [PATCH 03/11] Spanish translation day 23 of 30 --- .../dia_22_manipulacion_del_objeto_dom.md | 4 +- .../dia_23_event_listeners.md | 334 ++++++++++++++++++ 2 files changed, 336 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md diff --git a/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md b/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md index dc4845e..2269680 100644 --- a/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md +++ b/Spanish/dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md @@ -14,7 +14,7 @@ -[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](..) +[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](../dia_23_Event_Listeners/dia_23_event_listeners.md) ![Thirty Days Of JavaScript](../images/banners/day_1_22.png) @@ -221,4 +221,4 @@ Compruebe los requisitos de este proyecto a partir de ambas imágenes (jpg y gif 🎉 ¡FELICITACIONES! 🎉 -[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](..) +[<< Día 21](../dia_21_DOM/dia_21_dom.md) | [Día 23 >>](../dia_23_Event_Listeners/dia_23_event_listeners.md) diff --git a/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md new file mode 100644 index 0000000..77bd2c9 --- /dev/null +++ b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md @@ -0,0 +1,334 @@ +
+

30 Días de JavaScript: Event Listeners

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_23.png) + +- [Día 22](#día-22) + - [DOM(Document Object Model)-Día 3](#domdocument-object-model-día-3) + - [Event Listeners](#event-listeners) + - [Click](#click) + - [Doble Click](#doble-click) + - [Mouse enter](#mouse-enter) + - [Obtener el valor de un elemento input](#obtener-el-valor-de-un-elemento-input) + - [valor de entrada](#valor-de-entrada) + - [evento de entrada y cambio](#evento-de-entrada-y-cambio) + - [evento de desenfoque](#evento-de-desenfoque) + - [keypress, keydow y keyup](#keypress-keydow-y-keyup) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 22 + +## DOM(Document Object Model)-Día 3 + +### Event Listeners + +Eventos HTML comunes: onclick, onchange, onmouseover, onmouseout, onkeydown, onkeyup, onload. +Podemos añadir el método **event_listener** (escuchador de eventos) a cualquier objeto DOM. Utilizamos el método **_addEventListener()_** para escuchar diferentes tipos de eventos en los elementos HTML. El método _addEventListener()_ toma dos argumentos, un event listener y una función callback. + +```js +selectedElement.addEventListener("eventlistner", function (e) { + // la actividad que quieres que ocurra después del evento estará aquí +}); +// or + +selectedElement.addEventListener("eventlistner", (e) => { + // la actividad que quieres que ocurra después del evento estará aquí +}); +``` + +#### Click + +Para adjuntar un event listener a un elemento, primero seleccionamos el elemento y luego adjuntamos el método addEventListener. El event listener toma como argumento el tipo de evento y las funciones de callback. + +El siguiente es un ejemplo de evento de tipo click. + +**Ejemplo: click** + +```html + + + + Document Object Model + + + + + + + + +``` + +También se puede adjuntar un evento directamente al elemento HTML como script en línea. + +**Ejemplo: onclick** + +```html + + + + Document Object Model + + + + + + + +``` + +#### Doble Click + +Para adjuntar un event listener a un elemento, primero seleccionamos el elemento y luego adjuntamos el método addEventListener. El event listener toma como argumento el tipo de evento y las funciones de callback. + +El siguiente es un ejemplo de evento de tipo click. + +**Ejemplo: dblclick** + +```html + + + + Document Object Model + + + + + + + +``` + +#### Mouse enter + +Para adjuntar un event listener a un elemento, primero seleccionamos el elemento y luego adjuntamos el método addEventListener. El event listener toma como argumento el tipo de evento y las funciones de callback. + +El siguiente es un ejemplo de evento de tipo click. + +**Ejemplo: mouseenter** + +```html + + + + Document Object Model + + + + + + + +``` + +A estas alturas ya estás familiarizado con el método addEventListen y cómo añadir un event listener. Hay muchos tipos de event listeners. Pero en este reto nos centraremos en los eventos importantes más comunes. + +Lista de eventos: + +- click - cuando se hace click en el elemento +- dblclick - cuando se hace doble click en el elemento +- mouseenter - cuando el punto del mouse ingresa al elemento +- mouseleave - cuando el puntero del mouse abandona el elemento +- mousemove - cuando el puntero del mouse se mueve sobre el elemento +- mouseover - cuando el puntero del mouse se mueve sobre el elemento +- mouseout - cuando el puntero del mouse sale del elemento +- input - cuando el valor entra en el input de entrada +- change - cuando el valor cambia en el input de entrada +- blur - cuando el elemento no está enfocado +- keydown - cuando una tecla está pulsada +- keyup - cuando una tecla está levantada +- keypress - cuando pulsamos cualquier tecla +- onload - cuando el navegador ha terminado de cargar una página + +Pruebe los tipos de eventos anteriores sustituyendo el tipo de evento en el fragmento de código anterior. + +### Obtener el valor de un elemento input + +Normalmente rellenamos formularios y los formularios aceptan datos. Los campos de los formularios se crean utilizando el elemento HTML input. Vamos a construir una pequeña aplicación que nos permita calcular el índice de masa corporal de una persona utilizando dos campos de entrada, un botón y una etiqueta p. + +### valor de entrada + +```html + + + + Document Object Model:30 Days Of JavaScript + + + +

Body Mass Index Calculator

+ + + + + + + + +``` + +#### evento de entrada y cambio + +En el ejemplo anterior, hemos conseguido obtener los valores de entrada de dos campos de entrada haciendo click en el botón. Qué tal si queremos obtener el valor sin hacer click en el botón. Podemos utilizar el tipo de evento _change_ o _input_ para obtener los datos inmediatamente del campo de entrada cuando el campo está en el foco. Veamos cómo lo haremos. + +```html + + + + Document Object Model:30 Days Of JavaScript + + + +

Data Binding using input or change event

+ + +

+ + + + +``` + +#### evento de desenfoque + +A diferencia de _input_ o _change_, el evento _blur_ se produce cuando el campo de entrada no está enfocado. + +```js + + + + + Document Object Model:30 Days Of JavaScript + + + +

Giving feedback using blur event

+ + +

+ + + + + +``` + +#### keypress, keydow y keyup + +Podemos acceder a todos los números de teclas del teclado utilizando diferentes tipos de event listener. Usemos keypress y obtengamos el keyCode de cada tecla del teclado. + +```html + + + + Document Object Model:30 Days Of JavaScript + + + +

Key events: Press any key

+ + + + +``` + +--- + +🌕 Eres muy especial, estás progresando cada día. Ahora, sabes cómo manejar cualquier tipo de eventos DOM. . Te quedan sólo siete días para tu camino a la grandeza. Ahora haz algunos ejercicios para tu cerebro y para tus músculos. + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Generar números y marcar pares, impares y primos con tres colores diferentes. Vea la imagen de abajo. + +![Number Generator](./../images/projects/dom_min_project_number_generator_day_3.1.gif) + +1. Generando el código del teclado usando even listener. La imagen de abajo. + +![Keyboard key](./../images/projects/dom_min_project_keycode_day_3.2.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](..) From 3e2251100c2bc52b68c4b2a3bb267797079f4687 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 21:03:22 -0500 Subject: [PATCH 04/11] Spanish translation day 24 of 30 --- .../dia_23_event_listeners.md | 4 +- .../dia_24_proyecto_sistema_solar.md | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md diff --git a/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md index 77bd2c9..8a513b3 100644 --- a/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md +++ b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md @@ -14,7 +14,7 @@ -[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](..) +[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) ![Thirty Days Of JavaScript](../images/banners/day_1_23.png) @@ -331,4 +331,4 @@ Podemos acceder a todos los números de teclas del teclado utilizando diferentes 🎉 ¡FELICITACIONES! 🎉 -[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](..) +[<< Día 22](../dia_22_Manipulacion_del_Objeto_DOM/dia_22_manipulacion_del_objeto_dom.md) | [Día 24 >>](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) diff --git a/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md b/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md new file mode 100644 index 0000000..ff6d627 --- /dev/null +++ b/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md @@ -0,0 +1,37 @@ +
+

30 Días de JavaScript: Mini Proyecto Sistema Solar

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_24.png) + +- [Día 24](#día-24) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 24 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Desarrollar una pequeña aplicación que calcule el peso de un objeto en un determinado planeta. La imagen gif no está completa revisa el video en el archivo de inicio. + +![Solar System](./../images/projects/dom_min_project_solar_system_day_4.1.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](..) From 40cf1f1518b3aaa32eda110c8faed02d37ca0acf Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 21:12:58 -0500 Subject: [PATCH 05/11] Spanish translation day 25 of 30 --- .../dia_24_proyecto_sistema_solar.md | 4 +- ...cion_de_datos_de_los_paises_del_mundo_1.md | 39 +++++++++++++++++++ 2 files changed, 41 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md diff --git a/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md b/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md index ff6d627..8c789aa 100644 --- a/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md +++ b/Spanish/dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md @@ -14,7 +14,7 @@ -[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](..) +[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) ![Thirty Days Of JavaScript](../images/banners/day_1_24.png) @@ -34,4 +34,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](..) +[<< Día 23](../dia_23_Event_Listeners/dia_23_event_listeners.md) | [Día 25 >>](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) diff --git a/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md b/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md new file mode 100644 index 0000000..1759a30 --- /dev/null +++ b/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md @@ -0,0 +1,39 @@ +
+

30 Días de JavaScript: Visualización de Datos de los Países del Mundo

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_25.png) + +- [Día 25](#día-25) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 25 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Visualiza los diez países más poblados y los diez idiomas más hablados del mundo usando DOM(HTML, CSS, JS) + +![Bar Graph](./../images/projects/dom_min_project_bar_graph_day_5.1.gif) + +![Bar Graph](./../images/projects/dom_min_project_bar_graph_day_5.1.png) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](..) From 51d96f2047d5dfa54fc8830c36fbc4eaf28a857a Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 21:20:21 -0500 Subject: [PATCH 06/11] Spanish translation day 26 of 30 --- ...cion_de_datos_de_los_paises_del_mundo_1.md | 4 +- ...cion_de_datos_de_los_paises_del_mundo_2.md | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md diff --git a/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md b/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md index 1759a30..0a04ce6 100644 --- a/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md +++ b/Spanish/dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md @@ -14,7 +14,7 @@ -[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](..) +[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) ![Thirty Days Of JavaScript](../images/banners/day_1_25.png) @@ -36,4 +36,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](..) +[<< Día 24](../dia_24_Proyecto_Sistema_Solar/dia_24_proyecto_sistema_solar.md) | [Día 26 >>](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) diff --git a/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md b/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md new file mode 100644 index 0000000..d09dc9b --- /dev/null +++ b/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md @@ -0,0 +1,37 @@ +
+

30 Días de JavaScript: Visualización de Datos de los Países del Mundo 2

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_26.png) + +- [Día 26](#día-26) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 26 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Visualice el array de países de la siguiente manera + +![Motivation](./../images/projects/dom_mini_project_countries_day_6.1.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](..) From bfc07fbcf1a4bb71a55f3bb0551f393acb78c9f8 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 21:31:23 -0500 Subject: [PATCH 07/11] Spanish translation day 27 of 30 --- ...cion_de_datos_de_los_paises_del_mundo_2.md | 4 +- .../27_Day_Mini_project_portfolio.md | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md diff --git a/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md b/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md index d09dc9b..5e91567 100644 --- a/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md +++ b/Spanish/dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md @@ -14,7 +14,7 @@ -[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](..) +[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) ![Thirty Days Of JavaScript](../images/banners/day_1_26.png) @@ -34,4 +34,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](..) +[<< Día 25](../dia_25_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_1/dia_25_visualizacion_de_datos_de_los_paises_del_mundo_1.md) | [Día 27 >>](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) diff --git a/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md b/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md new file mode 100644 index 0000000..a47ce70 --- /dev/null +++ b/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md @@ -0,0 +1,37 @@ +
+

30 Días de JavaScript: Portafolio

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_27.png) + +- [Día 27](#día-27) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 27 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Crea lo siguiente usando HTML, CSS y JavaScript + +![Slider](./../images/projects/dom_mini_project_slider_day_7.1.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](..) From f69c0f537f6c157783a818bcd13f79c06e614459 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 21:39:42 -0500 Subject: [PATCH 08/11] Spanish translation day 28 of 30 --- .../27_Day_Mini_project_portfolio.md | 4 +- ...ia_28_mini_proyecto_tabla_de_posiciones.md | 37 +++++++++++++++++++ 2 files changed, 39 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md diff --git a/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md b/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md index a47ce70..f7a7532 100644 --- a/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md +++ b/Spanish/dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md @@ -14,7 +14,7 @@ -[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](..) +[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) ![Thirty Days Of JavaScript](../images/banners/day_1_27.png) @@ -34,4 +34,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](..) +[<< Día 26](../dia_26_Visualizacion_De_Datos_De_Los_Paises_Del_Mundo_2/dia_26_visualizacion_de_datos_de_los_paises_del_mundo_2.md) | [Día 28 >>](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) diff --git a/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md b/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md new file mode 100644 index 0000000..c3b95e9 --- /dev/null +++ b/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md @@ -0,0 +1,37 @@ +
+

30 Days Of JavaScript: Tabla de Posiciones

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_28.png) + +- [Día 28](#día-28) + - [Ejercicio](#ejercicio) + - [Ejercicio: Nivel 1](#ejercicio-nivel-1) + +# Día 28 + +## Ejercicio + +### Ejercicio: Nivel 1 + +1. Crea lo siguiente usando HTML, CSS y JavaScript + +![Slider](./../images/projects/dom_mini_project_leaderboard_day_8.1.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](..) From 19ddac469d354e1d31d799256200da6a77620269 Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 22:14:40 -0500 Subject: [PATCH 09/11] Spanish translation day 29 of 30 --- ...ia_28_mini_proyecto_tabla_de_posiciones.md | 6 +-- ...9_mini_proyecto_animacion_de_caracteres.md | 37 +++++++++++++++++++ 2 files changed, 40 insertions(+), 3 deletions(-) create mode 100644 Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md diff --git a/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md b/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md index c3b95e9..95baa8f 100644 --- a/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md +++ b/Spanish/dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md @@ -1,5 +1,5 @@
-

30 Days Of JavaScript: Tabla de Posiciones

+

30 Días de JavaScript: Tabla de Posiciones

@@ -14,7 +14,7 @@
-[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](..) +[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](../dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md) ![Thirty Days Of JavaScript](../images/banners/day_1_28.png) @@ -34,4 +34,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](..) +[<< Día 27](../dia_27_Mini_Proyecto_Portafolio/27_Day_Mini_project_portfolio.md) | [Día 29>>](../dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md) diff --git a/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md b/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md new file mode 100644 index 0000000..73ce9db --- /dev/null +++ b/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md @@ -0,0 +1,37 @@ +
+

30 Días de JavaScript: Animación de Caracteres

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ +[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](..) + +![Thirty Days Of JavaScript](../images/banners/day_1_29.png) + +- [Día 29](#día-29) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + +# Día 29 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Crea la siguiente animación utilizando (HTML, CSS, JS) + +![Slider](./../images/projects/dom_min_project_30DaysOfJavaScript_color_changing_day_9.1.gif) + +🎉 ¡FELICITACIONES! 🎉 + +[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](..) From 0f47b7c8f26578851c74c9e8672c3033ee3361ef Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 22:35:30 -0500 Subject: [PATCH 10/11] Spanish translation day 30 of 30 --- ...9_mini_proyecto_animacion_de_caracteres.md | 4 +- .../dia_30_mini_proyecto_final.md | 67 +++++++++++++++++++ 2 files changed, 69 insertions(+), 2 deletions(-) create mode 100644 Spanish/dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md diff --git a/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md b/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md index 73ce9db..1c18d77 100644 --- a/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md +++ b/Spanish/dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md @@ -14,7 +14,7 @@ -[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](..) +[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](../dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md) ![Thirty Days Of JavaScript](../images/banners/day_1_29.png) @@ -34,4 +34,4 @@ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](..) +[<< Día 28](../dia_28_Mini_Proyecto_Tabla_De_Posiciones/dia_28_mini_proyecto_tabla_de_posiciones.md) | [Día 30>>](../dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md) diff --git a/Spanish/dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md b/Spanish/dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md new file mode 100644 index 0000000..aa2fa32 --- /dev/null +++ b/Spanish/dia_30_Mini_Proyecto_Final/dia_30_mini_proyecto_final.md @@ -0,0 +1,67 @@ +
+

30 Días de JavaScript: Proyecto Final

+ + + + + Twitter Follow + + +Autor: +Asabeneh Yetayeh
+ Enero, 2020 +
+ +
+ + +
+ +
+ +
+Apoya al autor para que cree más material educativo
+Paypal Logo +
+ +[<< Día 29](../dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md) + +![Thirty Days Of JavaScript](../images/banners/day_1_30.png) + +- [Día 30](#día-30) + - [Ejercicios](#ejercicios) + - [Ejercicios: Nivel 1](#ejercicios-nivel-1) + - [Testimonio](#testimonio) + - [Apoyo](#apoyo) + +# Día 30 + +## Ejercicios + +### Ejercicios: Nivel 1 + +1. Crea la siguiente animación utilizando (HTML, CSS, JS) + +![Countries data](./../images/projects/dom_mini_project_countries_object_day_10.1.gif) + +2. Valide el siguiente formulario utilizando regex. + + ![form validation](./../images/projects/dom_mini_project_form_validation_day_10.2.1.png) + + ![form validation](./../images/projects/dom_mini_project_form_validation_day_10.2.png) + +🌕 Tu viaje a la grandeza se ha completado con éxito. Has alcanzado un alto nivel de genialidad. Ahora, eres mucho más brillante que antes. Yo sabía lo que se necesita para llegar a este nivel y tú llegaste a este punto. Eres un verdadero héroe. Ahora, es el momento de celebrar tu éxito con un amigo o con la familia. Estoy deseando verte en otro reto. + +## Testimonio + +Ahora es el momento de apoyar al autor y expresar su opinión sobre el autor y 30DaysOfJavaScript. Puedes dejar tu testimonio en este [link](https://testimonify.herokuapp.com/) + +## Apoyo + +Puedes apoyar al autor para que produzca más material educativo + +[![paypal](../../images/paypal_lg.png)](https://www.paypal.me/asabeneh) + +![Congratulations](../../images/projects/congratulations.gif) + +[<< Día 29](../dia_29_Mini_Proyecto_Animacion_De_Caracteres/dia_29_mini_proyecto_animacion_de_caracteres.md) From de038c3736c530dc5ff26bec0757f5eec8e0e30d Mon Sep 17 00:00:00 2001 From: EmmanuelArenas Date: Sun, 2 Oct 2022 22:54:53 -0500 Subject: [PATCH 11/11] Correction of days --- .../dia_03_Boleanos_Operadores_Date.md | 6 +++--- Spanish/dia_05_Arreglos/dia_05_arreglos.md | 2 +- Spanish/dia_07_Funciones/dia_07_funciones.md | 4 ++-- .../dia_09_funciones_de_orden_superior.md | 2 +- Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md | 4 ++-- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Spanish/dia_03_Booleanos_Operadores_Date/dia_03_Boleanos_Operadores_Date.md b/Spanish/dia_03_Booleanos_Operadores_Date/dia_03_Boleanos_Operadores_Date.md index 6fb7a6f..dc3e405 100644 --- a/Spanish/dia_03_Booleanos_Operadores_Date/dia_03_Boleanos_Operadores_Date.md +++ b/Spanish/dia_03_Booleanos_Operadores_Date/dia_03_Boleanos_Operadores_Date.md @@ -14,7 +14,7 @@ -[<< Day 2](../dia_02_tipos_de_datos.md) | [Day 4 >>](../dia_04_Condicionales/dia_04_Condicionales.md) +[<< Día 2](../dia_02_tipos_de_datos.md) | [Día 4 >>](../dia_04_Condicionales/dia_04_Condicionales.md) ![Thirty Days Of JavaScript](../images/banners/day_1_3.png) @@ -126,7 +126,7 @@ Los operadores aritméticos son operadores matemáticos. - Suma(+): a + b - Resta(-): a - b -- Multiplicación(_): a _ b +- Multiplicación(\*): a \* b - División(/): a / b - Módulo(%): a % b - Exponencial(**): a ** b @@ -629,4 +629,4 @@ console.log(`${date}/${month}/${year} ${hours}:${minutes}`); // 4/1/2020 0:56 1. Cree un formato de hora legible por humanos usando el objeto Date. La hora y el minuto deben ser siempre dos dígitos (7 horas deben ser 07 y 5 minutos deben ser 05) 1. YYY-MM-DD HH:mm eg. 20120-01-02 07:05 -[<< Day 2](../dia_02_tipos_de_datos.md) | [Day 4 >>](../dia_04_Condicionales/dia_04_Condicionales.md) +[<< Día 2](../dia_02_tipos_de_datos.md) | [Día 4 >>](../dia_04_Condicionales/dia_04_Condicionales.md) diff --git a/Spanish/dia_05_Arreglos/dia_05_arreglos.md b/Spanish/dia_05_Arreglos/dia_05_arreglos.md index 534effc..7d72fda 100644 --- a/Spanish/dia_05_Arreglos/dia_05_arreglos.md +++ b/Spanish/dia_05_Arreglos/dia_05_arreglos.md @@ -778,4 +778,4 @@ const webTechs = [ 🎉 ¡Felicitaciones! 🎉 -[<< Day 4](../dia_04_Condicionales/dia_04_Condicionales.md) | [Day 6 >>](../dia_06_Bucles/dia_06_bucles.md) +[<< Día 4](../dia_04_Condicionales/dia_04_Condicionales.md) | [Día 6 >>](../dia_06_Bucles/dia_06_bucles.md) diff --git a/Spanish/dia_07_Funciones/dia_07_funciones.md b/Spanish/dia_07_Funciones/dia_07_funciones.md index aaf820f..b3ffa4a 100644 --- a/Spanish/dia_07_Funciones/dia_07_funciones.md +++ b/Spanish/dia_07_Funciones/dia_07_funciones.md @@ -14,7 +14,7 @@ -[<< Day 6](../dia_06_Bucles/dia_06_bucles.md) | [Día 8 >>](../dia_08_Objetos/dia_08_objetos.md) +[<< Día 6](../dia_06_Bucles/dia_06_bucles.md) | [Día 8 >>](../dia_08_Objetos/dia_08_objetos.md) ![Thirty Days Of JavaScript](../images/banners/day_1_7.png) @@ -699,4 +699,4 @@ Será cubierto en otra sección. 1. Escriba una función llamada reverseCountries, toma el array de países y primero copia el array y retorna el array original invertido 🎉 ¡FELICITACIONES! 🎉 -[<< Day 6](../dia_06_Bucles/dia_06_bucles.md) | [Day 8 >>](../dia_08_Objetos/dia_08_objetos.md) +[<< Día 6](../dia_06_Bucles/dia_06_bucles.md) | [Día 8 >>](../dia_08_Objetos/dia_08_objetos.md) diff --git a/Spanish/dia_09_Funciones_De_Orden_Superior/dia_09_funciones_de_orden_superior.md b/Spanish/dia_09_Funciones_De_Orden_Superior/dia_09_funciones_de_orden_superior.md index b5b2b38..a0111c5 100644 --- a/Spanish/dia_09_Funciones_De_Orden_Superior/dia_09_funciones_de_orden_superior.md +++ b/Spanish/dia_09_Funciones_De_Orden_Superior/dia_09_funciones_de_orden_superior.md @@ -704,4 +704,4 @@ const products = [ 🎉 ¡FELICITACIONES! 🎉 -[<< Día 8](../dia_08_Objetos/dia_08_objetos.md) | [Day 10 >>](../dia_10_Sets_y_Maps/dia_10_sets_y_maps.md) +[<< Día 8](../dia_08_Objetos/dia_08_objetos.md) | [Día 10 >>](../dia_10_Sets_y_Maps/dia_10_sets_y_maps.md) diff --git a/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md index 8a513b3..95cfe6a 100644 --- a/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md +++ b/Spanish/dia_23_Event_Listeners/dia_23_event_listeners.md @@ -18,7 +18,7 @@ ![Thirty Days Of JavaScript](../images/banners/day_1_23.png) -- [Día 22](#día-22) +- [Día 23](#día-23) - [DOM(Document Object Model)-Día 3](#domdocument-object-model-día-3) - [Event Listeners](#event-listeners) - [Click](#click) @@ -32,7 +32,7 @@ - [Ejercicios](#ejercicios) - [Ejercicios: Nivel 1](#ejercicios-nivel-1) -# Día 22 +# Día 23 ## DOM(Document Object Model)-Día 3