Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

[Sugestão] Segundo carrossel não funciona? Tenta isso aqui...

Olá pessoal, tudo certo?

Referente ao curso HTML e CSS: responsividade com mobile-first, no capítulo Integrando o Carrossel com SwiperJS e atividade Faça como eu fiz: reutilizando código. Notei que o segundo carrossel fica com a primeira imagem expandida, ficando desconfigurado por assim dizer. Segue imagem de exemplo:

Imagem

Através de um pouco de pesquisa e prompts bem estruturados com I.A, descobri um solução para esse erro que muitos vem relatando, e que outros podem futuramente relatar. Se o seu problema é esse, segue a baixo a solução:

Como temos dois elementos com a mesma classe .swiper, o Swiper só está inicializando corretamente o primeiro, e ignora ou entra em conflito com o segundo. Precisamos dar nomes diferentes para cada carrossel e inicializá-los separadamente. Lembrando que não sou nenhum especialista, apenas estou repassando uma forma que me ajudou a solucionar meu problema. Agora vamos lá!

Passo 1: Renomeie os containers .swiper do HTML

div class="swiper swiper-ultimos"
div class="swiper swiper-vendidos"

Passo 2: Ajuste o JavaScript para iniciar os dois separadamente:

<script>	
const swiperUltimos = new Swiper('.swiper-ultimos', {
  spaceBetween: 10,
  slidesPerView: 3,
  pagination: {
    el: '.swiper-ultimos .swiper-pagination',
    type: 'bullets',
  },
});
</script>

<script>
const swiperVendidos = new Swiper('.swiper-vendidos', {
  spaceBetween: 10,
  slidesPerView: 3,
  pagination: {
    el: '.swiper-vendidos .swiper-pagination',
    type: 'bullets',
  },
});	
</script>	

Podem colocar os script ao final de cada carrossel, ou podem mover todas as chamadas do Swiper para um único script no final da section, assim:

    <script> src="https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.js"></script>
<script>
  const swiperUltimos = new Swiper('.swiper-ultimos', { ... });

  const swiperVendidos = new Swiper('.swiper-vendidos', { ... });
</script>

Qualquer dúvida estou a disposição e bons estudos!

Lembrem-se que a I.A pode ser um dos seus melhores professores nessa jornada se bem utilizada.

1 resposta
solução!

Oii, Brayan!

Que baita contribuição você trouxe aqui — direto ao ponto, prática e super útil pra quem tá passando por esse tipo de problema.

Esse detalhe do SwiperJS só reconhecer o primeiro carrossel com a classe genérica .swiper realmente pode causar muita dor de cabeça se a gente não entende o porquê. E a forma como você resolveu, com classes específicas e inicializações separadas no JS, é exatamente o caminho certo.

Você ainda explicou tudo de um jeito acessível, e com código bem organizado — isso facilita muito pra quem tá estudando ou começando no front-end. E o melhor: compartilhou com humildade e generosidade, o que fortalece a comunidade de aprendizagem.

Ah, e sim: usar a IA com consciência e boas perguntas faz toda a diferença — você é prova disso. Parabéns pela iniciativa!

Se tiver mais descobertas assim, manda ver no fórum. Gente como você faz a diferença por aqui.

Alura Conte com o apoio da comunidade Alura na sua jornada. Abraços e bons estudos!