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

127
Visualizações
Convierta los eventos de desplazamiento vertical y horizontal en desplazamiento horizontal con HTML y JS

Estoy desarrollando un sitio web de cartera de desplazamiento horizontal usando React.js. Esencialmente, es solo una galería de imágenes lateral por la que puede desplazarse fácilmente con el panel táctil.

Actualmente todo cabe en un gran contenedor que utiliza:

 overflow-x: scroll; overflow-y: none; -ms-overflow-style: none; scrollbar-width: none;

Recientemente me di cuenta de que este sitio sería inutilizable para las personas que usan un mouse y una computadora de escritorio porque, hasta donde yo sé, el mouse no puede desplazarse hacia los lados a menos que haya una barra de desplazamiento (que no quiero agregar por razones estéticas) o algún tipo de conversión de desplazamiento de y a x.

Ahora estoy tratando de implementar esta conversión de desplazamiento en caso de que los usuarios no puedan desplazarse horizontalmente. Encontré esta solución pero no pude hacer que funcionara correctamente:

 const scroller = document.getElementById('pageContainer'); window.addEventListener('wheel', e => { scroller.scrollLeft += e.deltaY; });

El fragmento anterior rompe efectivamente ambas formas de desplazamiento para mí. El desplazamiento vertical desplaza el contenedor de mi página hacia la izquierda muy levemente, aproximadamente 1/12 de la velocidad del desplazamiento normal, si no menos. El desplazamiento horizontal que funcionaba anteriormente ahora parece "luchar" con el otro desplazamiento y empujar la página en la dirección correcta o tartamudear.

¿Qué me estoy perdiendo? ¿Cuál es la forma más limpia de lograr esto?

Idealmente, me gustaría que el desplazamiento se moviera de lado a lado en un movimiento sinusoidal si estoy "desplazando" en un movimiento circular.

EDITAR:

Encontré un codepen que logra el comportamiento deseado y lo implementé: https://codepen.io/aaaaaaaz/pen/OJpXBXM

Todavía no funcionó, pero me dio la idea de intentar desactivar scroll-behavior: smooth; en mi css: lo estaba usando para botones que lo desplazarían mediante programación a otras partes de la página más rápido.

La nueva pregunta ahora es, ¿hay alguna forma de que estas cosas funcionen en conjunto?

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

0

Agregue altura y ancho en su estilo div donde desee agregar desplazamiento horizontal en el sitio web de la cartera

 #content { height: 100%; width: 9000px; }
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