Respuestas:
.offset()
devolverá la posición de desplazamiento de un elemento como un objeto simple, por ejemplo:
var position = $(element).offset(); // position = { left: 42, top: 567 }
Puede usar este valor de retorno para colocar otros elementos en el mismo lugar:
$(anotherElement).css(position)
offset()
no devuelve la coordenada superior adecuada. En su lugar, devuelve aproximadamente 300 píxeles más que la coordenada superior del elemento en el documento. ¿¿Por qué??
Tenga en $(element).offset()
cuenta que le indica la posición de un elemento en relación con el documento . Esto funciona muy bien en la mayoría de las circunstancias, pero en el caso de position:fixed
que pueda obtener resultados inesperados.
Si su documento es más largo que la ventana gráfica y se ha desplazado verticalmente hacia la parte inferior del documento, position:fixed
el offset()
valor de su elemento será mayor que el valor esperado en la cantidad que ha desplazado.
Si está buscando un valor relativo a la ventana gráfica (ventana), en lugar del documento en una posición: elemento fijo, puede restar el scrollTop()
valor del documento del valor del elemento fijo offset().top
. Ejemplo:$("#el").offset().top - $(document).scrollTop()
Si el position:fixed
elemento primario desplazado del elemento es el documento , desea leer en su parseInt($.css('top'))
lugar.
$(document).scrollTop()