Ver Mensaje Individual
  #4 (permalink)  
Antiguo 15/08/2013, 09:10
mixzplit
 
Fecha de Ingreso: enero-2011
Ubicación: Maracaibo
Mensajes: 179
Antigüedad: 13 años, 10 meses
Puntos: 2
Respuesta: Carga de Datos con Scroll

Hola anacona16, fijate lo que hice, modifique toda la estructura

Agregue 2 funciones que las meto dentro de la condicion del window scroll
Código Javascript:
Ver original
  1. $(document).ready(function(){
  2. var processing = false
  3.        $(window).scroll(function(){
  4.        
  5.            if ($(window).scrollTop() == $(document).height() - $(window).height()){
  6.              if(processing) return;      
  7.             mas_zonas(processing);      
  8.             mas_vendedores(processing);
  9.           }
  10.       });      
  11. });

Aqui las 2 funciones que estoy usando
Código Javascript:
Ver original
  1. function mas_zonas(process){
  2.           //alert(process);
  3.           var zonMas = 'fil_zona_mas'
  4.             if($('#ZonCuotas').val()!='null' && $('#vendedorCuotas').val()=='null'){
  5.                 //if(process) return;
  6.                $.ajax({
  7.                   type: "POST",
  8.                     url: "controlador/controladorReportes.php",
  9.                     data: 'op=' + zonMas+'&zona='+$('#ZonCuotas').val(),
  10.                     beforeSend: function() {
  11.                                    //$('#_mensajesCarga').html('<div align="center"><img src="images/loading.gif"></div>');
  12.                                   process = true;
  13.                                 },
  14.                     success: function(data) {  
  15.                            $('#_tabla_contenedor').append(data);
  16.                            //$('#_mensajesCarga').html('');
  17.                     },
  18.                     complete: function() { process = false; }
  19.                });                     
  20.                 }  
  21. }
  22.  
  23. function mas_vendedores(process){
  24.     var venMas = 'fil_vendedor_mas'
  25.                 if($('#vendedorCuotas').val()!='null' && $('#ZonCuotas').val()!='null'){
  26.                     alert(process)
  27.                if(process) return;
  28.                $.ajax({
  29.                   type: "POST",
  30.                     url: "controlador/controladorReportes.php",
  31.                     data: 'op=' + venMas+'&codven='+$('#vendedorCuotas').val(),
  32.                     beforeSend: function() {
  33.                                    process = true;
  34.                                    //$('#_mensajesCarga').html('<div align="center"><img src="images/loading.gif"></div>');
  35.                                  
  36.                                 },
  37.                     success: function(data) {  
  38.                            $('#_tabla_contenedor').append(data);
  39.                                $('#_mensajesCarga').html('');
  40.        
  41.                     },
  42.                     complete: function() { process = false; }
  43.  
  44.                });                     
  45.  
  46.                      
  47.                 }      
  48.    
  49. }


Como vera cambie todo a $AJAX, me esta funcionado bien, pero no es por que lo pase a AJAX y manejo mejor los eventos. Resulta que la el <DIV> donde me esta mostrando la imagen de carga cuando el scroll llega al final, me esta cambiando el tamaño de a pagina y si el usuario sigue bajando, se hacen 2 consultas, la segunda se ejecuta antes de que termine la primera y por eso se pierden los datos de la primera consulta y solo muestra el resultado de la segunda.
Le quite el DIV donde carga la imagen y funciona perfecto.

Esto se puede solucionar? quisiera colocar la imagen de carga por si la conexion es lenta

Saludos