Ver Mensaje Individual
  #1 (permalink)  
Antiguo 10/10/2009, 21:56
horape
 
Fecha de Ingreso: mayo-2009
Mensajes: 210
Antigüedad: 15 años, 6 meses
Puntos: 0
En mi pagina puse un scroll infinito para mostrar resultados (antes usaba paginacion tradicional), que se activa cuando el usuario llega al final, o sea:

Código javascript:
Ver original
  1. $(window).scroll(function(){
  2.         if($(window).scrollTop() == $(document).height() - $(window).height()){
  3.         myFuncion();
  4. }

myFuncion() es la que trae mas resultados, sumando cada vez un numero al 'offset' para la paginación.
La cosa es que si el usuario accidentalmente toca fondo 2 o mas veces, el evento se dispara mas de una vez y lo que ocurre es que se saltea resultados, ya que sumó de más para la paginación.
Como puedo evitar eso?
Probé agregando una variable de control pero no logre nada

Código javascript:
Ver original
  1. var consultando = 0;

y luego adentro de la función anonima:

Código javascript:
Ver original
  1. if(consultando!=0) { return 0 ; }

, y al finalizar la función:

Código javascript:
Ver original
  1. consultando = 0;




Alguna otra idea?

Si eso me anduviera podria incluso hacer que el evento se dispare un poco antes de estar llegando al final, porque pondria

if($(window).scrollTop() >= $(document).height() - $(window).height() -2000)

Pero si lo hago así como está, el evento se dispara un monton de veces antes de llegar al final, y se saltea monton de resultados.

Ayuda pls

nadie sabe? deberia ser algo simple

nadie?????

Última edición por GatorV; 13/10/2009 a las 15:05