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

204
Visualizações
Alternar clase en div cuando un elemento específico se desplaza (y se elimina)

Tengo este javascript (a continuación) que agrega/elimina una clase cuando se pasa el cursor sobre un elemento de anclaje.

 a.forEach(item => { item.addEventListener('mouseover', () => { cursor.classList.add('hover'); }); item.addEventListener('mouseleave', () => { cursor.classList.remove('hover'); }); })

Esto funciona, pero además me gustaría aplicar una clase diferente cuando se interactúa con dos botones de enlaces. Las clases son .swiper-button-prev y .swiper-button-next . Entonces, probablemente algo como hover-swiper-prev y hover-swiper-next dependiendo de con cuál se interactúe.

Básicamente, cuando paso el cursor sobre un carrusel de imágenes, me gustaría mostrar diferentes estilos de cursor (flechas) para cada enlace y rotar 180 grados (para que apunten hacia la izquierda/derecha) al cambiar a los 'bloques' anterior/siguiente.

Para el contexto, estoy usando este gran código para crear un cursor de mouse javascript personalizado (es para una cartera/un poco de diversión, así que está bien) : https://codepen.io/ntenebruso/pen/QWLzVjY

about 4 years ago · Juan Pablo Isaza
1 Respostas
Responde à pergunta

0

No estoy seguro de cómo se ve tu html, pero aquí hay un pequeño fragmento que podría ayudar. Agregué algo de css para demostrar.

  1. Agregue la clase que desea agregar como atributo a los elementos html.
  1. Tome esa información para agregar y eliminar la clase en consecuencia

 const a = document.querySelectorAll("a"); const cursor = document.getElementById("cursor"); a.forEach((item) => { const interaction = item.dataset.interaction; item.addEventListener("mouseover", () => { cursor.classList.add(interaction); }); item.addEventListener("mouseleave", (event) => { cursor.classList.remove(interaction); }); });
 .swiper-button-prev{ background-color:green; } .swipper-button-next{ background-color:yellow; } .hover-swiper-prev{ background-color:orange; } .hover-swiper-next{ background-color:pink; }
 <a href="" data-interaction="swiper-button-prev">Swipper prev</a> <a href="" data-interaction="swipper-button-next">Swipper next</a> <a href="" data-interaction="hover-swiper-prev">Hover prev</a> <a href="" data-interaction="hover-swiper-next">Hover next</a> <div style="width: 50px; height: 50px;" id="cursor"> cursor </div>

about 4 years ago · Juan Pablo Isaza Relatório
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