¿Por qué recarga los datos cuando me desplazo hacia abajo?

K

lo que estoy haciendo es un scroll infinito con jQuey, AJAX y PHP, cuando tiene que recargar más datos, en vez de recargarlos cuando hago scroll hacia abajo, lo que me hace es que tenga que volver al top de la página para que se recarguen más datos, que tengo que cambiar en mi código para que se recargue cuando esta casi al bottom de la página? Gracias de antemano!

<script type="text/javascript">
            var start = 0;
            var limit = 5;
            var reachedMax = false;

        $(window).scroll(function () {
            if ($(window).scrollTop() == $(document).height() - $(window).height())
                getData();
        });

        $(document).ready(function () {
           getData();
        });

        function getData() {
            if (reachedMax)
                return;

            $.ajax({
               url: 'publicaciones.php',
               method: 'POST',
               dataType: 'text',
               data: {
                   getData: 1,
                   start: start,
                   limit: limit
               },
               success: function(response) {
                    if (response == "reachedMax")
                        reachedMax = true;
                    else {
                        start += limit;
                        $(".results").append(response);
                    }
                }
            });
        }
    </script>
imsack

Si tienes problemas en ese tipo de cosas mete salidas de texto y ves por donde esta haciendo cada llamada a la funcion y sabras por donde viene el error.

Pero vamos en resumen(sin probarlo estoy casi seguro) es por el primer if que te esta devolviendo true solo en la posicion 0 del scroll ya que la otra condición te esta dando el mismo numero(x-x=0).

eXtreM3

Prueba esto

if($(window).scrollTop() + $(window).height() >= $(document).height())

Usuarios habituales