Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

214
Vistas
Desplazamiento suave de vue.js hacia el centro, la parte inferior y la parte superior posterior superior con las teclas de flecha

Me gustaría usar las teclas de flecha arriba y abajo para desplazarme suavemente hacia arriba y hacia abajo en la página.

La primera pulsación de tecla hacia abajo debería llevarme al medio (50 %),
la segunda pulsación de tecla hacia abajo hasta la parte inferior de la página
y viceversa con la tecla arriba.

¿Es esto posible con vue?

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Esto debería ser posible con vue.js y/o algo de JavaScript . Si desea vincular estas acciones a algunos elementos html , debe echar un vistazo a KeyCode Modifiers , donde tiene la opción de vincularlos en v-on . Si solo desea usar JavaScript sin vincular las acciones a vue.js , podría ser algo como esto:

 document.onkeydown = keyDownFunc; function keyDownFunc(e) { e = e || window.event; if (e.keyCode == '40') { // do something } }

En este caso, 40 es arrow down . Para obtener sus códigos clave, simplemente visite: keycode.info .

about 4 years ago · Juan Pablo Isaza Denunciar

0

Esto es posible con javascript puro, por lo tanto, también es posible con vue

Echa un vistazo a este ejemplo

Primero, presta atención a este método:

 scrollView(amount) { let scrollFromTop = window.pageYOffset; const viewHeight = Math.round(window.innerHeight * Math.abs(amount)); if (scrollFromTop % viewHeight === 0) scrollFromTop += Math.sign(amount); let targetPos; if (amount > 0) targetPos = Math.ceil(scrollFromTop / viewHeight) * viewHeight; else targetPos = Math.floor(scrollFromTop / viewHeight) * viewHeight; window.scrollTo({ top: targetPos, behavior: "smooth" }); }

Determina la altura de la vista y el desplazamiento actual desde arriba. Luego, desplaza la página hacia arriba o hacia abajo según la cantidad proporcionada y en relación con el tamaño de la vista.

NB: el desplazamiento suave aún no es compatible con algunos navegadores, debe usar smoothscroll-polyfill , si decide implementar esta solución.

A continuación, eche un vistazo a este par de ganchos responsables de la escucha de eventos clave:

 mounted() { window.addEventListener("keydown", this.keyHandler); }, beforeUnmount() { window.removeEventListener("keydown", this.keyHandler); }

Y por último, pero no menos importante, la lógica de manejo de eventos:

 keyHandler(e) { if (e.key === 'ArrowDown') { e.preventDefault(); this.scrollView(this.scrollAmount); } if (e.key === 'ArrowUp') { e.preventDefault(); this.scrollView(this.scrollAmount * -1); } },
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda