Foros del Web » Programando para Internet » Javascript »

llamar funcion al subir con el scroll

Estas en el tema de llamar funcion al subir con el scroll en el foro de Javascript en Foros del Web. Hola, quiero mostrar un botón de subida cuando el usuario sube para arriba con la barra desplazamiento para darle la opción de ir al principio ...
  #1 (permalink)  
Antiguo 11/04/2015, 18:42
 
Fecha de Ingreso: mayo-2011
Mensajes: 1.201
Antigüedad: 13 años
Puntos: 10
llamar funcion al subir con el scroll

Hola, quiero mostrar un botón de subida cuando el usuario sube para arriba con la barra desplazamiento para darle la opción de ir al principio deprisa pero no se muy bien como hacer para detectar que el usuario está subiendo el scroll, alguien me dice que lógica usar para detectar si sube.
  #2 (permalink)  
Antiguo 11/04/2015, 21:45
Avatar de Alexis88
Philosopher
 
Fecha de Ingreso: noviembre-2011
Ubicación: Tacna, Perú
Mensajes: 5.552
Antigüedad: 12 años, 5 meses
Puntos: 977
Respuesta: llamar funcion al subir con el scroll

Para saber si el usuario está desplazándose hacia arriba con la barra, necesitas guardar la cantidad de píxeles desplazados por cada vez que ocurra el evento scroll y luego solo te queda compara la cantidad actual con la previamente guardada; cuando la cantidad actual sea menor que la guardada, entonces, el usuario se está desplazando hacia arriba.

Cita:
Iniciado por pithon Ver Mensaje
sube para arriba
Evita los pleonasmos.

Saludos
__________________
«Juro por mi vida y mi amor por ella, que jamás viviré para el provecho de otro hombre, ni le pediré a otro hombre que viva para el mío».

Ayn Rand
  #3 (permalink)  
Antiguo 11/04/2015, 21:56
Avatar de NueveReinas  
Fecha de Ingreso: septiembre-2013
Ubicación: No tan Buenos Aires
Mensajes: 1.101
Antigüedad: 10 años, 7 meses
Puntos: 145
Respuesta: llamar funcion al subir con el scroll

Quizá esto te sirva: http://jsfiddle.net/1ce711b0/

Código HTML:
Ver original
  1. <a href="#" class="arriba">Arriba</a>

Código CSS:
Ver original
  1. .arriba {
  2.     position:fixed;
  3.     background:red;
  4.     color:white;
  5.     opacity:0;
  6. }

Código Javascript:
Ver original
  1. // SCROLLTESTER START //
  2. $('<h1 id="st" style="position: fixed; right: 25px; bottom: 25px;"></h1>').insertAfter('body');
  3.  
  4. $(window).scroll(function () {
  5.   var st = $(window).scrollTop();
  6.   var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
  7.  
  8.   $('#st').replaceWith('<h1 id="st" style="position: fixed; right: 25px; bottom: 25px;">scrollTop: ' + st + '<br>scrollBottom: ' + scrollBottom + '</h1>');
  9. });
  10. // SCROLLTESTER END //
  11.  
  12. $(window).scroll(function(){
  13.    
  14.     var scrollBottom = $(document).height() - $(window).height() - $(window).scrollTop();
  15.    
  16. if (scrollBottom < 200) {
  17. $('.arriba').css("opacity","1");
  18. } else {
  19. $('.arriba').css("opacity","0");
  20. }
  21. });
  22. $('.arriba').click(function(){
  23. $("html, body").animate({ scrollTop: 0 }, 700);
  24. return false;
  25. });
__________________
¿Te sirvió la respuesta? Deja un +1

Etiquetas: funcion, scroll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:46.