¿Cuál es la diferencia entre:

$(window).scrollTop()

y

$(document).scrollTop()

Gracias.

InformationsquelleAutor frenchie | 2011-03-20

4 Comentarios

  1. 141

    Que son a la vez va a tener el mismo efecto.

    Sin embargo, como se señaló en los comentarios: $(window).scrollTop() es apoyado por más de navegadores web de $('html').scrollTop().

    • devuelve 0 en IE8 (a pesar de que mi página está en las peculiaridades de la modalidad, que puede jugar un factor)
    • Tio eres genial. +1 a $(«html»).scrollTop().
    • $(‘html’).scrollTop() no es cross-browser (como un organismo no funciona, al menos en Chrome). La mayoría de crossbrowser manera de hacerlo por ahora es: $(window).scrollTop() como una función de captador, $(‘html,body’).scrollTop(offset) como un organismo.
    • De acuerdo a la esta referencia, sin argumentos scrollTop no puedes desplazarte a cualquier lugar, pero sólo devuelve el desplazamiento actual ubicación.
    • Si sólo eso fuera verdad. $(window).scrollTop() se desplaza a la parte superior del documento, todo el día. Aquí es una mejor explicación.
    • Como @George Ivankin dijo – esto no funciona en Chrome. Esto funcionó para mí: $(‘html’).scrollTop(0);
    • es un getter y scrollTop(value) es un setter. scrollTop() sin argumentos no cambia la posición de desplazamiento.
    • Esta respuesta está marcado como el derecho de responder, pero teniendo en cuenta la confusión que se crea con esta falsa declaración, «Tanto desplácese hasta la parte superior del objeto», en caso de no ser editado? Como algunos han señalado aquí, scrollTop() sin ningún argumento es un getter.
    • $(window).scrollTop(0) es la mejor solución trabajado en mis pruebas.
    • ¿Cuál es el JavaScript manera? (no JQuery)
    • de la ventana.desplázate(x,y)

  2. 33

    Primer lugar, usted necesita entender la diferencia entre la ventana y el documento. El objeto window es un cliente de nivel superior del lado del objeto. No hay nada por encima de la ventana de objetos. Javascript es un objeto orientado idioma. Empieza con un objeto y aplicar métodos, propiedades o las propiedades de grupos de objetos. Por ejemplo, el documento objeto es un objeto de la ventana de objetos. Para cambiar el color de fondo del documento, se define el documento de la propiedad bgcolor.

    window.document.bgcolor = "red" 

    Para responder a su pregunta, No Hay ninguna diferencia en el resultado final entre la ventana y el documento scrollTop. Ambos darán el mismo resultado.

    Comprobar ejemplo de trabajo en http://jsfiddle.net/7VRvj/6/

    En general, el uso de documentos principalmente para registrar eventos y el uso de la ventana para hacer cosas tales como desplazamiento, scrollTop, y cambiar de tamaño.

    • No hay diferencia en el resultado final. Ambos darán el mismo resultado.
    • Apprently no, algunos navegadores no soportan la ventana de desplazamiento como el objeto de la ventana no puede ser el objeto de que se desborde.
    • Lo que el navegador no soporte la ventana, sea específico. He aquí un ejemplo de jsfiddle.net/7VRvj/4. Comprobar que en todos los navegadores y me dejó saber que el navegador no funciona en.
  3. 5

    Cruz navegador manera de hacer esto es

    var top = ($(window).scrollTop() || $("body").scrollTop());
    • Nota: $("body").scrollTop() siempre devuelve 0 en Google Chrome.
    • $("body").scrollTop() está en desuso, no funciona en Chrome o FF más. Devolverá 0
    • ok, yo ya no uso jquery. ahora, utilizando vuejs
  4. 0

    Yo he tenido algunos problemas similares con scrollTop se describe aquí.

    Al final tengo alrededor de este en Firefox y es decir mediante el selector de $('*').scrollTop(0);

    No es perfecto si usted tiene elementos que no desea efecto, pero se pone todo el Documento, el Cuerpo, el HTML y la Ventana de la disparidad. Si ayuda…

    • Usted nunca debe utilizar * de esta manera (de hecho, evitar * en total). En lugar de apuntar a un elemento, que está afectando a toda la DOM. Enorme impacto en el rendimiento. Selectores deben ser tan precisas como posible.
    • Yo personalmente siempre he usado $("html,body").scrollTop(val) — nunca tuvo problemas

Dejar respuesta

Please enter your comment!
Please enter your name here