Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

268
Visualizações
JS/CSS: ¿eliminar los elementos huérfanos de la última fila de flexbox mediante el uso de un detector de eventos de cambio de tamaño para mostrar/ocultar elementos?

Tengo una cuadrícula flexible que muestra elementos de diferentes anchos (rectángulo, cuadrado, etc.) y extrae datos de una API, por lo que la lista es dinámica, por lo que cada fila siempre es diferente. Esto a menudo da como resultado elementos flexibles "huérfanos" al final de la cuadrícula flexible, especialmente en los puntos de interrupción más bajos.

He notado que generalmente solo tengo 2 o 3 elementos persistentes en la última fila.

Mi objetivo es mostrar solo filas completas y deshacerme de todos los elementos huérfanos.

ingrese la descripción de la imagen aquí

Pensé en diferentes formas de lograr esto y noté que todos mis elementos huérfanos 1) ocurren cuando reduzco mi pantalla por debajo de 1750px y 2) los elementos huérfanos están por encima de 300 px, grandes ya que no tienen contenido la próxima vez que obliga que sean pequeños.

Pensé en agregar un detector de eventos de cambio de resize para verificar solo los últimos 6 elementos de mi cuadrícula flexible. Si su altura es superior a 310 , agrego el estilo display: none , de lo contrario display: block .

 this.throttledCheckOrphanItems = throttle(() => this.checkOrphanItems(), 300); window.addEventListener('resize', this.throttledCheckOrphanItems); 

 checkOrphanItems() { if (window.innerWidth > 1750) { return; } const items = document.getQuerySelectorAll('.movieItems'); for (let x = items.length - 1; x >= items.length - 6; x--) { const height = items[x].getBoundingClientRect().height; if (height >= 310) { items[x].style.display = 'none'; } else { items[x].style.display = 'block'; } } },

"Funciona", pero no es una experiencia fluida.

Sé que esta no es una gran solución, pero no puedo encontrar otra forma sin sacrificar la configuración de mi cuadrícula. ¿Hay una mejor manera de que solo pueda mostrar filas completas? Si no es así, ¿hay alguna manera de optimizar mi solución o hacerla más eficaz?

about 4 years ago · Juan Pablo Isaza
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda