CursosEmpresasBlogLiveConfPrecios

Comparte el resultado

Clase 16 de 29 • Curso de Manipulación del DOM

Clase anteriorSiguiente clase

Contenido del curso

DOM y Web API

  • 1
    Y entonces nació internet...

    Y entonces nació internet...

    02:23 min
  • 2

    Accede a la versión más actualizada de este contenido

    00:14 min
  • 3
    ¿Qué es el DOM?

    ¿Qué es el DOM?

    02:39 min
  • 4
    Web APIs modernas

    Web APIs modernas

    03:17 min

Operaciones básicas

  • 5
    Leer nodos

    Leer nodos

    09:31 min
  • 6
    NodeLists vs Array

    NodeLists vs Array

    03:46 min
  • 7
    Crear y agregar

    Crear y agregar

    15:47 min
  • 8
    Otras formas de agregar

    Otras formas de agregar

    06:55 min
  • 9
    Atributos y propiedades

    Atributos y propiedades

    05:12 min
  • 10
    Eliminar nodos

    Eliminar nodos

    09:31 min
  • 11
    Operaciones en lote

    Operaciones en lote

    06:52 min

Workshop 1: Fetch

  • 12
    Presentación del proyecto

    Presentación del proyecto

    01:10 min
  • 13
    Descargando información y creando nodos

    Descargando información y creando nodos

    18:36 min
  • 14
    Enriqueciendo la información

    Enriqueciendo la información

    10:53 min
  • 15
    Usando la API de internacionalización del browser

    Usando la API de internacionalización del browser

    12:14 min
  • 16
    Comparte el resultado

    Comparte el resultado

    Viendo ahora

Eventos

  • 17
    Reaccionar a lo que sucede en el DOM

    Reaccionar a lo que sucede en el DOM

    13:58 min
  • 18
    Event propagation

    Event propagation

    12:08 min
  • 19
    Event delegation

    Event delegation

    05:32 min

Workshop 2: Lazy loading

  • 20
    Presentación del proyecto

    Presentación del proyecto

    03:34 min
  • 21
    Nuestro propio plugin Lazy Loading

    Nuestro propio plugin Lazy Loading

    08:32 min
  • 22
    Creando las imagenes con JavaScript

    Creando las imagenes con JavaScript

    17:33 min
  • 23
    Intersection Observer

    Intersection Observer

    14:21 min
  • 24
    Aplicando Lazy loading

    Aplicando Lazy loading

    13:07 min
  • 25
    Comparte el resultado

    Comparte el resultado

    03:17 min

Workshop 3

  • 26
    Proyectos propuestos

    Proyectos propuestos

    04:17 min

Librerías relacionadas

  • 27
    ¿Y jQuery?

    ¿Y jQuery?

    03:41 min
  • 28
    ¿Y JSX?

    ¿Y JSX?

    09:40 min

Conclusiones

  • 29
    Conclusiones

    Conclusiones

    01:56 min
Tomar examen

Escuelas

  • Desarrollo Web
    • Fundamentos del Desarrollo Web Profesional
    • Diseño y Desarrollo Frontend
    • Desarrollo Frontend con JavaScript
    • Desarrollo Frontend con Vue.js
    • Desarrollo Frontend con Angular
    • Desarrollo Frontend con React.js
    • Desarrollo Backend con Node.js
    • Desarrollo Backend con Python
    • Desarrollo Backend con Java
    • Desarrollo Backend con PHP
    • Desarrollo Backend con Ruby
    • Bases de Datos para Web
    • Seguridad Web & API
    • Testing Automatizado y QA para Web
    • Arquitecturas Web Modernas y Escalabilidad
    • DevOps y Cloud para Desarrolladores Web
  • English Academy
    • Inglés Básico A1
    • Inglés Básico A2
    • Inglés Intermedio B1
    • Inglés Intermedio Alto B2
    • Inglés Avanzado C1
    • Inglés para Propósitos Específicos
    • Inglés de Negocios
  • Marketing Digital
    • Fundamentos de Marketing Digital
    • Marketing de Contenidos y Redacción Persuasiva
    • SEO y Posicionamiento Web
    • Social Media Marketing y Community Management
    • Publicidad Digital y Paid Media
    • Analítica Digital y Optimización (CRO)
    • Estrategia de Marketing y Growth
    • Marketing de Marca y Comunicación Estratégica
    • Marketing para E-commerce
    • Marketing B2B
    • Inteligencia Artificial Aplicada al Marketing
    • Automatización del Marketing
    • Marca Personal y Marketing Freelance
    • Ventas y Experiencia del Cliente
    • Creación de Contenido para Redes Sociales
  • Inteligencia Artificial y Data Science
    • Fundamentos de Data Science y AI
    • Análisis y Visualización de Datos
    • Machine Learning y Deep Learning
    • Data Engineer
    • Inteligencia Artificial para la Productividad
    • Desarrollo de Aplicaciones con IA
    • AI Software Engineer
  • Ciberseguridad
    • Fundamentos de Ciberseguridad
    • Hacking Ético y Pentesting (Red Team)
    • Análisis de Malware e Ingeniería Forense
    • Seguridad Defensiva y Cumplimiento (Blue Team)
    • Ciberseguridad Estratégica
  • Liderazgo y Habilidades Blandas
    • Fundamentos de Habilidades Profesionales
    • Liderazgo y Gestión de Equipos
    • Comunicación Avanzada y Oratoria
    • Negociación y Resolución de Conflictos
    • Inteligencia Emocional y Autogestión
    • Productividad y Herramientas Digitales
    • Gestión de Proyectos y Metodologías Ágiles
    • Desarrollo de Carrera y Marca Personal
    • Diversidad, Inclusión y Entorno Laboral Saludable
    • Filosofía y Estrategia para Líderes
  • Diseño de Producto y UX
    • Fundamentos de Diseño UX/UI
    • Investigación de Usuarios (UX Research)
    • Arquitectura de Información y Usabilidad
    • Diseño de Interfaces y Prototipado (UI Design)
    • Sistemas de Diseño y DesignOps
    • Redacción UX (UX Writing)
    • Creatividad e Innovación en Diseño
    • Diseño Accesible e Inclusivo
    • Diseño Asistido por Inteligencia Artificial
    • Gestión de Producto y Liderazgo en Diseño
    • Diseño de Interacciones Emergentes (VUI/VR)
    • Desarrollo Web para Diseñadores
    • Diseño y Prototipado No-Code
  • Contenido Audiovisual
    • Fundamentos de Producción Audiovisual
    • Producción de Video para Plataformas Digitales
    • Producción de Audio y Podcast
    • Fotografía y Diseño Gráfico para Contenido Digital
    • Motion Graphics y Animación
    • Contenido Interactivo y Realidad Aumentada
    • Estrategia, Marketing y Monetización de Contenidos
  • Desarrollo Móvil
    • Fundamentos de Desarrollo Móvil
    • Desarrollo Nativo Android con Kotlin
    • Desarrollo Nativo iOS con Swift
    • Desarrollo Multiplataforma con React Native
    • Desarrollo Multiplataforma con Flutter
    • Arquitectura y Patrones de Diseño Móvil
    • Integración de APIs y Persistencia Móvil
    • Testing y Despliegue en Móvil
    • Diseño UX/UI para Móviles
  • Diseño Gráfico y Arte Digital
    • Fundamentos del Diseño Gráfico y Digital
    • Diseño de Identidad Visual y Branding
    • Ilustración Digital y Arte Conceptual
    • Diseño Editorial y de Empaques
    • Motion Graphics y Animación 3D
    • Diseño Gráfico Asistido por Inteligencia Artificial
    • Creatividad e Innovación en Diseño
  • Programación
    • Fundamentos de Programación e Ingeniería de Software
    • Herramientas de IA para el trabajo
    • Matemáticas para Programación
    • Programación con Python
    • Programación con JavaScript
    • Programación con TypeScript
    • Programación Orientada a Objetos con Java
    • Desarrollo con C# y .NET
    • Programación con PHP
    • Programación con Go y Rust
    • Programación Móvil con Swift y Kotlin
    • Programación con C y C++
    • Administración Básica de Servidores Linux
  • Negocios
    • Fundamentos de Negocios y Emprendimiento
    • Estrategia y Crecimiento Empresarial
    • Finanzas Personales y Corporativas
    • Inversión en Mercados Financieros
    • Ventas, CRM y Experiencia del Cliente
    • Operaciones, Logística y E-commerce
    • Gestión de Proyectos y Metodologías Ágiles
    • Aspectos Legales y Cumplimiento
    • Habilidades Directivas y Crecimiento Profesional
    • Diversidad e Inclusión en el Entorno Laboral
    • Herramientas Digitales y Automatización para Negocios
  • Blockchain y Web3
    • Fundamentos de Blockchain y Web3
    • Desarrollo de Smart Contracts y dApps
    • Finanzas Descentralizadas (DeFi)
    • NFTs y Economía de Creadores
    • Seguridad Blockchain
    • Ecosistemas Blockchain Alternativos (No-EVM)
    • Producto, Marketing y Legal en Web3
  • Recursos Humanos
    • Fundamentos y Cultura Organizacional en RRHH
    • Atracción y Selección de Talento
    • Cultura y Employee Experience
    • Gestión y Desarrollo de Talento
    • Desarrollo y Evaluación de Liderazgo
    • Diversidad, Equidad e Inclusión
    • AI y Automatización en Recursos Humanos
    • Tecnología y Automatización en RRHH
  • Finanzas e Inversiones
    • Fundamentos de Finanzas Personales y Corporativas
    • Análisis y Valoración Financiera
    • Inversión y Mercados de Capitales
    • Finanzas Descentralizadas (DeFi) y Criptoactivos
    • Finanzas y Estrategia para Startups
    • Inteligencia Artificial Aplicada a Finanzas
    • Domina Excel
    • Financial Analyst
    • Conseguir trabajo en Finanzas e Inversiones
  • Startups
    • Fundamentos y Validación de Ideas
    • Estrategia de Negocio y Product-Market Fit
    • Desarrollo de Producto y Operaciones Lean
    • Finanzas, Legal y Fundraising
    • Marketing, Ventas y Growth para Startups
    • Cultura, Talento y Liderazgo
    • Finanzas y Operaciones en Ecommerce
    • Startups Web3 y Blockchain
    • Startups con Impacto Social
    • Expansión y Ecosistema Startup
  • Cloud Computing y DevOps
    • Fundamentos de Cloud y DevOps
    • Administración de Servidores Linux
    • Contenerización y Orquestación
    • Infraestructura como Código (IaC) y CI/CD
    • Amazon Web Services
    • Microsoft Azure
    • Serverless y Observabilidad
    • Certificaciones Cloud (Preparación)
    • Plataforma Cloud GCP

Platzi y comunidad

  • Platzi Business
  • Live Classes
  • Lanzamientos
  • Executive Program
  • Trabaja con nosotros
  • Podcast

Recursos

  • Manual de Marca

Soporte

  • Preguntas Frecuentes
  • Contáctanos

Legal

  • Términos y Condiciones
  • Privacidad
  • Tyc promociones
Reconocimientos
Reconocimientos
Logo reconocimientoTop 40 Mejores EdTech del mundo · 2024
Logo reconocimientoPrimera Startup Latina admitida en YC · 2014
Logo reconocimientoPrimera Startup EdTech · 2018
Logo reconocimientoCEO Ganador Medalla por la Educación T4 & HP · 2024
Logo reconocimientoCEO Mejor Emprendedor del año · 2024
De LATAM conpara el mundo
YoutubeInstagramLinkedInTikTokFacebookX (Twitter)Threads
        Andrea Lozano Cataño

        Andrea Lozano Cataño

        student•
        hace 5 años

        ¡Que genial está este curso!

        aguacates-de-andrea.png

          Jimmy Buriticá Londoño

          Jimmy Buriticá Londoño

          student•
          hace 5 años

          Muy bien presentado Andrea.

          Julio Loarte Huerto

          Julio Loarte Huerto

          student•
          hace 4 años

          esta bonito Andrea

        Rodrigo Martinez

        Rodrigo Martinez

        student•
        hace 5 años

        Mi resultado :D

        Repo 📚 Live demo 📚

        Screenshot_39.png
        Screenshot_40.png
          Andrés Felipe García Rendón

          Andrés Felipe García Rendón

          student•
          hace 5 años

          Esta genial!!!

          Rodrigo Martinez

          Rodrigo Martinez

          student•
          hace 5 años

          Gracias! :D está todo hecho con lo que aprendimos en el curso.

        Alejandro Repizp

        Alejandro Repizp

        student•
        hace 5 años

        Mi resultado 🚀

        pokeApi.jpg
        pokeApi2.jpg
          Max Andy Diaz Neyra

          Max Andy Diaz Neyra

          student•
          hace 4 años

          Que API usaste?

          Donovan Villanueva

          Donovan Villanueva

          student•
          hace 3 años

          Lovely.

        Paolo Joaquin Pinto Perez

        Paolo Joaquin Pinto Perez

        student•
        hace 5 años

        Hacer deploy del proyecto(Basado en el README del proyecto):

        1. Crear un repositorio en Github.
        2. Vi en los aportes que en el archivo snowpack.config.js se modifico de la siguiente manera:
        /** @type {import("snowpack").SnowpackUserConfig } */ module.exports = { mount: { public: '/', src: '/_dist_', }, buildOptions: { baseUrl: 'https://nombre-de-usuario.github.io/nombre-del-repo', }, }
        1. Añadir en el archivo package.json el apartado homepage de la siguiente forma:
        { "homepage": "https://tu-nombre-de-usuario.github.io/el-nombre-de-tu-repo", "scripts": { .... }, "devDependencies": { .... } }
        1. Subir desde nuestro repositorio local a Github.
          • git add .
          • git commit -m "mensaje" O git commit -am "mensaje" // que es como un add y commit en solo uno :D
          • git remote add origin "https://github.com/<nombre-de-usuario>/<nombre-del-repo>"
          • git push origin master
        2. Se debe crear en Github además de la rama master, una rama llamada gh-pages
        3. Habilitamos Github pages en nuestro repositorio desde settings>:
          • Seleccionando gh-pages como rama para que se haga el build del proyecto.
            repo-workshop-1-fetch-example.jpg

        Y ya! :D, bueno al menos eso fue lo que a mi me funciono, me gustaria feedback para ver en que me equivoque, gracias😅..

          Diego Andres Cardenas Caro

          Diego Andres Cardenas Caro

          student•
          hace 5 años

          Funciono perfecto, gracias!

          Paolo Joaquin Pinto Perez

          Paolo Joaquin Pinto Perez

          student•
          hace 5 años

          Que bueno!, gracias por el feedback :D

        Carlos Iván Ochoa Gómez

        Carlos Iván Ochoa Gómez

        student•
        hace 4 años
          Francisco Javier Pecino Leon

          Francisco Javier Pecino Leon

          student•
          hace 3 años

          muy chulo, el alojamiento es gratuito?

        David Daniel Castillo Nava

        David Daniel Castillo Nava

        student•
        hace 5 años

        Así quedo mi ejercicio


        Javascript

        const URL_API = "https://platzi-avo.vercel.app/"; const URL_API_AVO = `${URL_API}api/avo`; const $aguacatesContainer = document.getElementById("aguacates"); //utils function formatPrice(price) { return new Intl.NumberFormat("en-EN", { style: "currency", currency: "USD", }).format(price); } async function getData() { const response = await fetch(URL_API_AVO); const data = await response.json(); return [...data.data]; } function createCard({ name, image, price, attributes }) { //Creamos imagen const $image = document.createElement("img"); $image.src = `${URL_API}${image}`; $image.className = "rounded-full mx-auto card__avatar"; const $banner = document.createElement("div"); $banner.className = "card__banner"; //Creamos titulo const $title = document.createElement("h2"); $title.innerText = name; $title.className = "card__name"; const $description = document.createElement("span"); $description.innerText = attributes.taste; $description.className = "card__description"; const $price = document.createElement("span"); $price.innerText = formatPrice(price); $price.className = "card__level"; const $body = document.createElement("div"); $body.className = "card__body"; $body.append($title, $description, $price); //Creamos contenedor de la card const $container = document.createElement("article"); $container.className = "card"; $container.append($image, $banner, $body); return $container; } function renderElements(list) { const $listElements = []; list.forEach((item) => { $listElements.push(createCard(item)); }); $aguacatesContainer.append(...$listElements); } async function init() { const data = await getData(); console.log(data); renderElements(data); } init();


        css

        @import "tailwindcss/dist/base.css"; @import "tailwindcss/dist/components.css"; @import "tailwindcss/dist/utilities.css"; .card { position: relative; padding: 5px; border-radius: 10px; overflow: hidden; box-shadow: 0 10px 20px rgba(68, 68, 68, 0.1); } .card__banner { background-image: url(https://as.com/deporteyvida/imagenes/2017/07/23/portada/1500819395_065005_1500819504_noticia_normal.jpg); background-size: cover; background-position: center center; background-repeat: no-repeat; border-top-left-radius: 8px; border-top-right-radius: 8px; overflow: hidden; padding: 30px 0 0; height: 60px; box-sizing: content-box; } .card__avatar { position: absolute; width: 80px; height: 80px; top: 40px; left: 0; right: 0; margin: 0 auto; border-radius: 50%; border: 4px solid #eadd76; } .card__body { text-align: center; padding: 35px 0 40px; display: flex; flex-direction: column; align-items: center; box-sizing: content-box; } .card__name { font-size: 18px; font-weight: bold; margin: 0 0 5px; } .card__description { font-size: 12px; display: inline-block; margin: 0 0 12px; color: #cacaca; } .card__level { font-size: 12px; display: inline-block; background-color: #eadd76; padding: 5px 15px; color: #fff; border-radius: 20px; letter-spacing: 0.5px; } .card__numbers { display: flex; justify-content: space-between; padding: 0 32px 25px; } .card__meta { font-size: 12px; color: #cacaca; margin: 0 0 5px; } .card__number { font-size: 22px; }
        Carlos Eduardo Gomez García

        Carlos Eduardo Gomez García

        teacher•
        hace 5 años

        En mi caso me limitaré a seguir el curso, cuando aprenda más sobre Tailwind tal vez haga algo, por ahora, por si a alguien le interesa, todo el código de este WorkShop junto con sus estilos está en mi repositorio :D . Código del Workshop

          Donovan RM

          Donovan RM

          student•
          hace 3 años

          I agree!!!

        Luis Alexander Chip Teleyón

        Luis Alexander Chip Teleyón

        student•
        hace 5 años

        No se mucho de Tailwind, los estilos los realice en css puro.

        localhost_8080_.png
        Gutierrez Diego

        Gutierrez Diego

        student•
        hace 4 años

        Asi voy chicos:

        Repro: https://github.com/diegudeveloper/Proyecto03_API

        Modo Mobile:

        127.0.0.1_5500_index.html.png

        Modo Pc:

        127.0.0.1_5500_index.html(iPad Pro).png
        Jhon Wilfer Orrego Gutierrez

        Jhon Wilfer Orrego Gutierrez

        student•
        hace 5 años

        Mi primer intento

        ![](

        PokemonApi.png

        https://github.com/jhonwix/PokemonApiPromise

          Edgar Lopez Arroyo

          Edgar Lopez Arroyo

          student•
          hace 5 años

          Se ve muy bien!! 👍

        Alex Maldonado

        Alex Maldonado

        student•
        hace 5 años

        No se nada de tailwind aún, pero con ayuda de esta web https://www.tailwind-kit.com/ + la documentación oficial, puede armar una versión 0.1, que mejoraré a futuro 😁

        Screenshot_5.jpg
        Roberto Medina

        Roberto Medina

        student•
        hace 5 años

        Hola:

        Para publicar en github io, modifique el archivo de configuración de snowkpack.config :

        /** @type {import("snowpack").SnowpackUserConfig } */ module.exports = { mount: { public: '/', src: '/_dist_', }, buildOptions: { baseUrl: 'https:// robmvsk.github.io/workshop-1-fetch', }, }

        Saludos :)

          Alexander Tzoc Alvarado

          Alexander Tzoc Alvarado

          student•
          hace 5 años

          Gracias, me sirvió tu comentario.

          JOSE GABRIEL CASTILLO MOSQUERA

          JOSE GABRIEL CASTILLO MOSQUERA

          student•
          hace 5 años

          muchas gracias me sirvió tu aporte

        John Ruiz

        John Ruiz

        student•
        hace 5 años

        Wenas a tod@s,

        He estado trabajando con el ejercicio de los avocados, y ha quedado así

        Ahora cuando trato de hacer el deploy en gitHub, obtengo la url pero me muestra la info del README:
        Screenshot 2021-06-05 at 23.07.55.png

        No logro encontrar el error, he seguido los pasos, crear la repo, darle el homapage al package.json, push y crear el deploy. Pero a la hora de realizarlo, nada funciona. Dejo mi repo, por si me ayudan encontrar el error.

        Muchas gracias.

          Anyelo Leonardy Alvarez Baquero

          Anyelo Leonardy Alvarez Baquero

          student•
          hace 4 años

          Revisa las URL, que estén bien, quita el slash "/' del final de las url en el homepage del package.json y en el baseUrl del .config.js. Fue lo que a mi me funcionó.

        John Jairo Rodriguez Rivas

        John Jairo Rodriguez Rivas

        student•
        hace 4 años

        Mi tienda de aguacates, llevele llevele 2x1 Aguacates frescos!!! Entra aqui

        localhost_8080_ (2).png

        Fidel Parabacuto

        Fidel Parabacuto

        student•
        hace 4 años

        Combiné este proyecto con otro de que venía haciendo con al app de platzi y va así

        Captura de pantalla 2022-07-31 085143.png

          Cristian Nicolai Hernandez Rios

          Cristian Nicolai Hernandez Rios

          student•
          hace 3 años

          wow

        Leonardo de los angeles Espinoza Hernandez

        Leonardo de los angeles Espinoza Hernandez

        student•
        hace 5 años
        Screenshot_2021-01-23 Snowpack Tailwind App.png

        El código de mi proyecto :D https://github.com/LeoCode0/workshop_1

        Kevin Steven Hernández Méndez

        Kevin Steven Hernández Méndez

        student•
        hace 4 años

        Les comparto mi resultado, es mi primera vez usando Tailwind pero quise probar algunos detalles y animaciones, les dejo mi repo aquí :)

        Demo

        pagina de avocados.png
        Johnnie Lopez

        Johnnie Lopez

        student•
        hace 5 años

        Mi resultado conociendo tailwindcss: https://johnnie-lc.github.io/workshop-1-fetch/

        localhost_8080_.png
        Manuel Perez

        Manuel Perez

        student•
        hace 3 años
        pokemonStore.png

        Hice un pokemon Store con el API de pokemones!!

        Andrés Castellanos

        Andrés Castellanos

        student•
        hace 4 años

        Comparto el repo con mi proyecto final, Estaré encantado de leer sugerencias.