Foro de elhacker.net

Programación => Desarrollo Web => Mensaje iniciado por: Leguim en 1 Diciembre 2019, 22:00 pm



Título: ¿Qué diferencia hay entre scroll window y document?
Publicado por: Leguim en 1 Diciembre 2019, 22:00 pm
Buenos días,

tenía un problema y era que con una función lo que hacía era que si se pasaba el scroll sobre un elemento "<div id="el_div">" quería que muestre un console.log('1');

el problema era que a cada momento sin importar si pasaba el scroll por el "<div id="el_div">" se ejecutaba...

Código
  1.            $(document).on('scroll', function()
  2.            {
  3.                if($(this).scrollTop() >= $('#el_div').offset().top - $(this).height())
  4.                {
  5.                    console.log('1');
  6.                }
  7.            });
  8.  

El tema es que conseguí corregir esto cambiando "document" por "window"

Código
  1.            $(window).on('scroll', function()
  2.            {
  3.                if($(this).scrollTop() >= $('#el_div').offset().top - $(this).height())
  4.                {
  5.                    console.log('1');
  6.                }
  7.            });
  8.  

No veo que diferencia hay entre haberlo hecho con document o window... más allá del problema que tenía usando document.

Tengo otra duda y es que digamos si yo estoy detectando el scroll que existe en un div y otro en el cuerpo (window)
si yo hago "$(window).unbind('scroll');" que sirve para eliminar el evento...
¿me eliminará también un evento en algun scroll que tenga en un div en especifico?

por ejemplo

Código
  1.            $('#div_scroll').on('scroll', function()
  2.            {
  3.                console.log('scrolleando...');
  4.            });
  5.