Ver Mensaje Individual
  #6 (permalink)  
Antiguo 10/11/2019, 08:39
prueba230683
 
Fecha de Ingreso: abril-2011
Mensajes: 170
Antigüedad: 13 años
Puntos: 68
Respuesta: if else o swich para añadir efecto

Viendo el ejemplo que muestra ArturoGallegos me doy cuenta de que mi versión no funciona cuando se sube al top sin usar scroll (ej. con un enlace href="#"), o en el caso límite que pasa de distancia 201 a distancia 200.

Lo paso corregido, pero el mérito es para ArturoGallegos

Código Javascript:
Ver original
  1. var prevScrollpos = window.pageYOffset;
  2. window.onscroll = function() {
  3.     var currentScrollPos = window.pageYOffset;
  4.  
  5.     if (currentScrollPos == 0) { // si la distancia es cero
  6.         document.getElementById("header").style.backgroundColor = "rgba(255, 0, 0, 0)"; // poner totalmente transparente
  7.     } else if (currentScrollPos < 200) { // si la distancia esta entre 0 y 200
  8.         document.getElementById("header").style.backgroundColor = "rgba(255, 0, 0, 0.9)"; // poner en rojo
  9.  
  10.     }
  11.  
  12.     if (currentScrollPos > 200 && prevScrollpos < currentScrollPos) {
  13.         document.getElementById("header").style.top = "-100%"; // esconder header
  14.     } else {
  15.         document.getElementById("header").style.top = "0"; // mostrar header
  16.     }
  17.  
  18.     prevScrollpos = currentScrollPos; // actualizar posicion previa
  19. };


DEMO: https://www.w3schools.com/code/tryit...e=G9TBMG9O0GZC