Carrusel automático con JavaScript

แชร์
ฝัง
  • เผยแพร่เมื่อ 25 ส.ค. 2024
  • Hola, este video aprenderemos ha hacer un carrusel automático con JavaScript de forma sencilla !!
    ✅ Prueba el resultado:
    felixgonzalo.g...
    ✅ Código en GitHub:
    github.com/Fel...
    ✅ Más ejercicios:
    • Ejercicios con HTML, C...
    👉 Facebook:
    / felixcastro003

ความคิดเห็น • 78

  • @jesusantoniorojasbocanegra6017
    @jesusantoniorojasbocanegra6017 ปีที่แล้ว +3

    Mis respetos, simple y conciso.

  • @martingomez2226
    @martingomez2226 2 ปีที่แล้ว +6

    Muy buen tutorial, directo y sin vueltas! Nuevo sub!

  • @KRBlogs00
    @KRBlogs00 ปีที่แล้ว +1

    Este bro deberia tener 100k Sub es super bueno explicando

  • @alfonsoserna9609
    @alfonsoserna9609 6 หลายเดือนก่อน

    Hermano profe....muy bn explicado..es el unico tuto donde puedo manejar mas fotos y algunos efectos y todo lo adicional funciona perfectamente con lo explicado en el tutorial...Gracias

  • @klosarguello
    @klosarguello 2 ปีที่แล้ว +2

    excelente tutorial directo y muy bien explicado. muchas gracias !!!

  • @abel3235
    @abel3235 3 ปีที่แล้ว +2

    Genial hermano, gracias por tu aporte. increible!!!

  • @dac1.0
    @dac1.0 4 หลายเดือนก่อน

    Gracias eres un genio

  • @luisfernandohernandezvarel89
    @luisfernandohernandezvarel89 2 ปีที่แล้ว +1

    BRO SOS UN MÁSTER

  • @edwinalexadnerbernardinomo2486
    @edwinalexadnerbernardinomo2486 ปีที่แล้ว

    Hey me llega este video no hay mejor explicado como este, me llega brother😉

  • @hcode93
    @hcode93 2 ปีที่แล้ว +1

    muchas gracias.. 👍🏻

  • @fabianizquierdo9234
    @fabianizquierdo9234 ปีที่แล้ว

    excelente tutorial, ya solamente estudar los componentes de css y javascript

  • @Alansito
    @Alansito 2 ปีที่แล้ว +1

    Que buen video y bien explicado

  • @alvargarcia2534
    @alvargarcia2534 2 ปีที่แล้ว +1

    Excelente video!

  • @fedeluna1320
    @fedeluna1320 2 ปีที่แล้ว +1

    Genio gracias !!!

  • @soyneem
    @soyneem ปีที่แล้ว

    pa pa papap jjaj muuy buena!

  • @sandygomez8493
    @sandygomez8493 ปีที่แล้ว

    Perfección de tutorial, gracias 🔥

  • @federicoshierson2422
    @federicoshierson2422 ปีที่แล้ว

    muy buen tutorial amigo, me sirvió mucho!

  • @surgir2731
    @surgir2731 9 หลายเดือนก่อน

    excelente video, muchas gracias. aunque tengo un pequeño problema no se si a alguien mas le pasa, el carrusel me funciona bien en todos los navegadores pero en chrome no, solo se mueve de derecha a izquierda pero no se devuelve, agradezco me pueda colaborar

  • @enzodelgado
    @enzodelgado หลายเดือนก่อน

    bro porque en movil se pierde el efecto automatico y se me queda congelado

  • @MiguelMontano-pb5hv
    @MiguelMontano-pb5hv 2 หลายเดือนก่อน

    Tengo un problema, y es que el carrusel no se adapta a diferentes dispositivos, en emulador para celular se muestra y hace la funcion de ir y devolverse, pero en pc no.

  • @Ant-tkd
    @Ant-tkd 2 ปีที่แล้ว +1

    el ejercicio no funciona con tarjetas solo con imagenes

  • @sofiamondello4965
    @sofiamondello4965 10 หลายเดือนก่อน +1

    Hola! Muy bueno tu video! me pasa que cuando llega al final, no vuelve. Entiendo que es porque no se cumplen la condicion evaluada en el if. Sabes como puede debuggearlo? entiendo que tengo que chequear los anchos de los contenedores. Saludos

    • @tiohacks1
      @tiohacks1 10 หลายเดือนก่อน

      me pasa lo mismo , y aun no encuentro la solución

  • @Henry_Nunez
    @Henry_Nunez 2 ปีที่แล้ว

    👉🔔

  • @Ant-tkd
    @Ant-tkd 2 ปีที่แล้ว

    no entiendo porque no me funciona si estoy haciendo todo tal cual, ayuda porfa!!

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว +1

    en ves de const puedo usar var tambien ?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      es buena practica usar const o let en vez de var para las variables, const para variables que no cambiar de valor y let para aquellos que cambian su valor, saludos !!

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว +1

    cual es la diferencia de ponerle (){} y ()=>{} ?? y let y const y no entiendi muy bien esto step = step * -1; , podrias volver a explicaer

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว +1

      Te recomiendo investigar que son funciones de flecha o arrow functions en JS, básicamente es otra forma de crear una función. Por otro lado la característica más relevante entre const y let, es que const no permite que cambies su valor (pero hay una excepciones por ejemplo cuando asignas un arreglo como const puedes cambiar sus valores). y está instrucción step = step * -1 lo utilizo para cambiar el signo del valor a positivo o negativo según el caso. Sigue practicando, investigando y preguntando, todo paso a paso !! saludos 🤓 !!

    • @MiguelAngel-mf3yu
      @MiguelAngel-mf3yu 2 ปีที่แล้ว

      @@FelixCastro003 aya automaticamente lo cambia el step ? al multiplicarlo?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      @@MiguelAngel-mf3yu correcto, cambia el signo del step, recuerda que si es positivo va para un lado y si es negativo para el otro. Se realiza de esa forma para que puedas cambiar el valor del step fácilmente, el step puedes verlo como la distancia que se mueve el carrusel, si es positivo va para adelante y si es negativo para atrás.

  • @jesusdavidnicolatoledo7202
    @jesusdavidnicolatoledo7202 2 ปีที่แล้ว +2

    Felix Castro Que tal hermano sta chvere tu carousel automático; pero necesito saber: Como hago para cuando el escrool llegue a su limite y se reinicie nuevamente el intervalo y que empiece de nuevamnente el carousel valga la redundancia como empezo(Osea que no regrese si no que sea infinito su movimiento como está allí de manera horizontal).

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว +1

    que debo aprender para saber todas esas funcionaes y las de javascript ? ya que en los cursosde javascript no enseñan eso , solo lo de siempre , hacer una compracion de edad , etec

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว +1

      Cuando se está aprendiendo e iniciando es necesario desarrollar tu lógica de programación y eso lo podrías hacer con ejercicios donde solo se utilice JS y un archivo html para ver los resultados en consola. En este caso las funciones que mencionas son para trabajar ya más orientado a resultados para páginas o sistemas web. Tienes que practicar HTML CSS y Javascript en conjunto e intentar no usar librerías para que veas como se podrían hacer paso a paso ciertos componentes como un carrusel, cada que necesitas hacer algo o tienes dudas búscalo en documentación !! Es parte dela rutina y el aprendizaje saludos !!

    • @MiguelAngel-mf3yu
      @MiguelAngel-mf3yu 2 ปีที่แล้ว +1

      @@FelixCastro003 gracias crack

  • @cristian._.ferreira
    @cristian._.ferreira ปีที่แล้ว +1

    Hola me gustó mucho el slider, es justo lo que estaba buscando, pero me sucede que cuando pon scroll-behavior: smooth el carrusel deja de funcionar y la página deja de hacer scroll por completo, que puede ser? Muchas gracias!

    • @astrixwr5662
      @astrixwr5662 7 หลายเดือนก่อน

      En el contenedor de las imágenes cambia el scroll behavior por none
      Y deja para el body normal en smooth

  • @hcode93
    @hcode93 2 ปีที่แล้ว

    no funciona el desplazamiento automático en pantallas pequeñas..

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว +1

    cual es la diferencia entre query selector y classby

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว +1

      Hola, queryselector te permite obtener un elemento html por una clase o por su ID, tienes que especificar un punto . para clases y # para ID. El otro solo te permite obtener el elemento mediante su clase y ya no es necesario poner el punto.

  • @nicolaslasso6801
    @nicolaslasso6801 ปีที่แล้ว

    Hola Felix, gracias por tu tutorial, muy bueno. Me puedes ayudar? Al crear mi carrusel me bloquea los enlaces del menú en dispositivos mobiles. En navegadores no pasa, solo me afecta en dispositivos mobiles. Los enlaces me llevan a diferentes secciones de mi pagina por medio de ID´s. No logro resolverlo. Hay algo en tu ccodigo que los bloquea en celulares

  • @johanhenao8227
    @johanhenao8227 ปีที่แล้ว

    como hago para que me quede responsive?

  • @aborges8851
    @aborges8851 ปีที่แล้ว

    NO ME FUNCIONA Y ESO QEU HASTA ME DESCARGUE EL CODIGO DE GITGUB -> ALGO QUE ME AYUDE PORFA, GARCIAS

  • @jesusdavidromero5952
    @jesusdavidromero5952 9 หลายเดือนก่อน

    no me funciona el código

  • @maicolr8083
    @maicolr8083 ปีที่แล้ว

    tkmmmmm

  • @gerardoquispe7272
    @gerardoquispe7272 2 ปีที่แล้ว

    Hola que tal, por que tengo este error Uncaught TypeError: Cannot read properties of null (reading 'scrollLeft')

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Hola, ese error indica que el objeto del que se quiere obtener el scrollLeft es nulo o no dispone de dicha propiedad

  • @damianmise194
    @damianmise194 ปีที่แล้ว

    Hola felix , cuando le pongo al overflow-y: hidden; no vuelve mas el carrusel a que se puede deber este problema?

    • @damianmise194
      @damianmise194 ปีที่แล้ว +1

      lo quise aramr con grid, capas ahi esta algo mal
      .body{
      display: grid;
      gap:2px;
      grid-template-areas:
      "header"
      "main"
      "footer";
      grid-template-columns: 1670px;
      grid-template-rows: 100px 800px 100px;
      }

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว

    trate de hacer mi propio scripts , pero al momento de pasar el mouse y luego salir se vuelve loco y comienza a avanzar rapidito , esta mal ejectuado y escrito mi script verdad? hice como el tuyo y no tuve problema al soltar el mouse y ponerlo , funcionaba correctamente

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Analiza bien tu código, como me indicas que se vuelve loco aumentando la velocidad podría ser por qué estás creando varios intervalos y eso ocasiona errores ya que cada intervalo funciona de forma asíncrona !! Saludos

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว

    Como haria para agregarle.una transicion con JavaScript , cada ves que avanza cada imagen y El cambio no SE tan brusco

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      hola, si te refieres al efecto de agrandar la imagen puedes hacer la animación más suave con CSS agregando por ejemplo transition: 0.5s

    • @MiguelAngel-mf3yu
      @MiguelAngel-mf3yu 2 ปีที่แล้ว

      @@FelixCastro003 no responde , no hace nada , cuando agrego Al css transition 2s all

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว

    cual es la difrencia entre ponerle step = step *-1 y step = -1 , el -1 es para retroceder ? y el +1 , es para avanzar ?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Hola, cuando es positivo el scroll avanza y cuando es negativo regresa a la posición inicial. Ahora la idea de colocar la multiplicación es hacer que el step sea dinámico con la posibilidad de avanzar no solo en 1, por ejemplo podrías colocar el step en 20 y verás que el scroll avanza más rápido y ya con la multiplicación tienes -20 para retroceder

  • @nahuelescudero5752
    @nahuelescudero5752 2 ปีที่แล้ว

    yo tengo un problema y es que el carrusel se me va a la derecha y no se centra. Porque sera?

  • @velchaelmendez4842
    @velchaelmendez4842 ปีที่แล้ว +1

    Hola buenas tardes muy bueno el carrusel automatico, He revisado mi codigo varias veces y esta tal cual, pero por alguna razón al llegar al final del scroll no se devuelve, sabes a que se deba, ya hice los cambios que recomendo de cambiar === por >= pero sige igual
    if (carrusel.scrollLeft >= maxScrollLeft) {
    step = step *-1;
    } else if (carrusel.scrollLeft === 0) {
    step = step *-1;
    }

  • @adielpreciadonunez1735
    @adielpreciadonunez1735 2 ปีที่แล้ว

    Buenas noches como le hace para sacar el Scrollleft es una librería o diccionario?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Hola, es una propiedad que ya está integrado en el lenguaje, aquí explican más sobre scrollLeft: developer.mozilla.org/es/docs/Web/API/Element/scrollLeft y aquí hay más propiedades y métodos: developer.mozilla.org/es/docs/Web/API/Element

  • @NICOLAS-gm6wb
    @NICOLAS-gm6wb 2 ปีที่แล้ว +1

    gracias mano, ahorras un culo de tiempo compartiendo el codigo

  • @victormiguel2519
    @victormiguel2519 2 ปีที่แล้ว

    hola, trate de poner dos carrusel en una sola pagina pero solo funciona uno sabes porque?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Ese error me imagino es porque solo hiciste una copia del código HTML sin tener en cuenta el código de JS, lo que pasa es que en JS usamos el método querySelector y hacemos referencia a un solo elemento (carrusel) mediante su clase. Si deseas tener varios carruseles debes de cambiar un poco la lógica. Podrías crear diferentes clases como carrusel-items1, carrusel-items2 y hacer que ejecute el mismo algoritmo del carrusel o también podrías usar querySelectorAll para obtener un array de los elementos con la clase carrusel-items y aplicarle a todos ellos la misma lógica del carrusel. Saludos !!

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว

    Tengo un problema con el script, unos días estubo funcionando bien , pero luego de otros días, entre a la página y no podía hacer scroll, se movía lentizimo al bajar, casi nada bajaba la página ,. Sabes cuál podría ser el error?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      Hmm, tendría que analizar tu página, pero en este caso el código del carrusel no afecta el scroll vertical, pero tal vez tienes otro código js que si está afectando. Lo que no termino de entender es porque después de un tiempo te funciona con errores, para esto es bueno que manejes Git y módulos para el codigo JS si es que tienes muchas líneas

  • @jesusdavidnicolatoledo7202
    @jesusdavidnicolatoledo7202 2 ปีที่แล้ว +2

    Creo q la explicación es fácil: Si presentas con un:
    let maxScroll = carousel.scrollWidth - carousel.clientWidth
    console.log(carousel.scrollWidth)
    // 2100
    // console.log(carousel.clientWidth)
    // 1343
    La Resta es así=
    2100 - 1343 = 768
    Bueno en mi Laptop me salen esas medidas(del corei3)
    console.log(maxScroll)
    // 768
    Entonces el maximo en reccorrer el scroll de izquiera a dereach es medida de 768.
    PERO PARA QUE LLEGE A LOS 768 TIENE QUE MANDARLO A CORRER CON ESTE CÓDIGO:
    carousel.scrollLeft = carousel.scrollLeft + step
    Bueno cuando ya recorre y llega a su fin o sea a su máximo viene la pregunta o condición:
    carousel.scroolLeft === maxScroll osea si (768 === 768)
    como es verdad hace que retroceda la barra del scroll como ya recorrió de izquiera a derecha ahora tiene que regresar o retroceder de derecha a izquierda.
    pero lo hace diciéndole que retorceda a ladito del 1 en positivo de la barra del scroll(y eso quiere decir que retrocede)
    Es decir que el estep tiene un valor de:
    1 en posiivo(step=1)
    hace el cálculo:
    step= step * -1 => Por que lo hace retroceder por que todo numero diferente se resta si multiplicas 1 X -1 Te queda menos
    -1
    y Para hacerlo vuelta que avance preguntas así:
    Recuerda que cuando termina la primera condición continua el flujo de ejecución y pregunta:
    Y finalmente cuanto le pregunta si llegó hasta cero por creo que los q pasa del menos -1 están considerados o tienen un valor de 0.
    carousel.scrollLeft === 0 (Como llegó a su valor negativo y se cumple la condición)
    step= step * -1 (Pero recordemos que estep ya tra un valor que tiene -1)
    Y la ley de los signos sognos iguales se suma y cambia el valor.
    quedando así 1 (positivo) cosa que allí lo hace avanzar al scroll de izquierda a derecha hasta que llegue hasta los 768 (Bueno en mi Laptop tengo esas medidas)
    A la izquierda negativo -768 ....... -8 -7 -6 -5 -4 -3 -2 -1 | 2 3 4 5 6 7 8 ...... 768 (A la derecha posiivo).
    Y solo llega la barra de regreso hasta el menos osea aladito del 1 en positivo.
    (y)

  • @mariaangelicaurregocuervo7982
    @mariaangelicaurregocuervo7982 2 ปีที่แล้ว

    Hola buenas tardes, He revisado mi codigo varias veces y esta tal cual, pero por alguna razón al llegar al final del scroll no se devuelve, sabes a que se deba

    • @danielpintos6486
      @danielpintos6486 2 ปีที่แล้ว

      Ese error se presenta en algunos navegadores y pantallas. Para solucionarlo cambias la primera condición de la función start() con un mayor o igual (>=) en lugar de igual estricto (===)
      if (carousel.scrollLeft >= maxScrollLeft) {
      step = step * -1;
      } else if (carousel.scrollLeft === 0) {
      step = step * -1;
      }

    • @jesusdelgado3491
      @jesusdelgado3491 2 ปีที่แล้ว

      @@danielpintos6486 hice los cambios que indicas pero parece trabado el carrusel está entre la izquierda y derecha pero como si fuera unos pixeles

  • @kevynbryanrodriguezlopez8946
    @kevynbryanrodriguezlopez8946 ปีที่แล้ว

    Es curioso por que en el celular se ve bien el scroll es infinito pero en PC tiene un limite y se queda a media imagen no regresa en su totalidad

  • @MiguelAngel-mf3yu
    @MiguelAngel-mf3yu 2 ปีที่แล้ว

    podrias decirme como moficiar el step para que en cada movimiento enfoque imagen por imagen ? gracias o se mueva de 3 imagenes en 3 imagenes gracias

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      hola, para el cambio que mencionas puedes realizarlo primero modificando el step a un valor más grande acorde al ancho de tu imagen, si la image mide 300px puedes probar con un
      step = 300
      Luego tienes que modificar la duración del intervalo, modificar el valor de 10 por uno más alto, puedes colocarlo que se mueva cada segundo con el valor de 1000
      Si deseas que se mueva de 3 en 3 entonces el step debe ser igual al ancho total y modificar el tiempo del intervalo para que el efecto se vea adecuado

    • @MiguelAngel-mf3yu
      @MiguelAngel-mf3yu 2 ปีที่แล้ว

      @@FelixCastro003 GRACIAS . COMO HAGO PARA AGREGARLE UN EFECTO DE TRANSION ?

    • @FelixCastro003
      @FelixCastro003  2 ปีที่แล้ว

      @@MiguelAngel-mf3yu puedes hacer diferentes efectos con @keyframes en CSS

  • @programacionfacil7680
    @programacionfacil7680 ปีที่แล้ว

    contexto : que mas¡?

  • @jesusdavidromero5952
    @jesusdavidromero5952 9 หลายเดือนก่อน

    no me funciona el código