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

190
Vistas
¿Cómo puedo hacer que un elemento sea visible en una página solo cuando la altura del contenido html es mayor que la altura de la ventana gráfica?

Tengo esta página que es básicamente una lista de tareas, donde puedes agregar una cantidad infinita de tareas de todo tipo y, por supuesto, si agregas muchas tareas, la altura de la página se hará más grande y la barra de desplazamiento va a aparecer. También tengo este botón fijo en la parte inferior derecha de la página, y su única función es enviarte de vuelta a la parte superior de la página. Lo que me gustaría hacer es configurar la visualización del botón en ninguno solo en caso de que la altura de la página no sea mayor que la altura de la ventana gráfica (por lo que no se puede desplazar), porque sería inútil en este caso, y luego establecer su mostrar para bloquear en caso de que la página haya superado los 100vh.

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

0

No lo he probado, pero estoy bastante seguro de que esto podría hacerse con consultas de @media:

 .topbutton { display: none; } @media screen and (min-height: 100vh) { .topbutton { display: block; } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

Una forma sencilla de hacer esto es verificar si el valor de posición de window.scrollY es 0 . De lo contrario, puede suponer que el contenido de la página es más alto que la ventana gráfica y que la página se desplaza, por lo que puede mostrar/ocultar un botón "volver al principio" en consecuencia. Por ejemplo:

JavaScript

 window.addEventListener('scroll', () => { const toTopLink = document.getElementById('toTopLink'); if (window.scrollY > 0) { toTopLink.classList.remove('hidden'); } else { toTopLink.classList.add('hidden'); } });

HTML

 <ul> <li>List Item</li> <li>List Item</li> <li>...</li> </ul> <a id="toTopLink" class="hidden" href="#">Scroll to Top</a>

CSS

 #toTopLink { display: block; position: fixed; /* ... */ } #toTopLink.hidden { display: none; }

Aquí hay un violín que muestra esta solución en acción (tenga en cuenta que deberá cambiar el tamaño de la altura de la ventana en consecuencia para ver el comportamiento de desplazamiento):

https://jsfiddle.net/dwq4h82x/8/


Botón de desplazamiento suave y fundido de entrada/salida

Para un poco de bondad adicional, podría hacer algo como esto en lugar de alternar display: none :

https://jsfiddle.net/6bjhvte4/3/

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