¿Cómo determino la distancia entre la parte superior de un div en la parte superior de la pantalla actual? Solo quiero la distancia de píxel a la parte superior de la pantalla actual, no la parte superior del documento. He intentado algunas cosas como .offset()
y .offsetHeight
, pero no puedo entender mi cerebro. ¡Gracias!Determine la distancia desde la parte superior de un div a la parte superior de la ventana con javascript
Respuesta
Puede utilizar .offset()
para obtener el desplazamiento en comparación con el elemento document
y luego utilizar la propiedad scrollTop
del elemento window
para encontrar a qué distancia de la página que el usuario se haya desplazado:
var scrollTop = $(window).scrollTop(),
elementOffset = $('#my-element').offset().top,
distance = (elementOffset - scrollTop);
La variable distance
ahora contiene la distancia desde la parte superior del elemento #my-element
y el pliegue superior.
Aquí es una demostración: http://jsfiddle.net/Rxs2m/
Tenga en cuenta que los valores negativos significan que el elemento está por encima de la parte superior veces.
He utilizado este:
myElement = document.getElemenById("xyz");
Get_Offset_From_Start (myElement); // returns positions from website's start position
Get_Offset_From_CurrentView (myElement); // returns positions from current scrolled view's TOP and LEFT
código:
function Get_Offset_From_Start (object, offset) {
offset = offset || {x : 0, y : 0};
offset.x += object.offsetLeft; offset.y += object.offsetTop;
if(object.offsetParent) {
offset = Get_Offset_From_Start (object.offsetParent, offset);
}
return offset;
}
function Get_Offset_From_CurrentView (myElement) {
if (!myElement) return;
var offset = Get_Offset_From_Start (myElement);
var scrolled = GetScrolled (myElement.parentNode);
var posX = offset.x - scrolled.x; var posY = offset.y - scrolled.y;
return {lefttt: posX , toppp: posY };
}
//helper
function GetScrolled (object, scrolled) {
scrolled = scrolled || {x : 0, y : 0};
scrolled.x += object.scrollLeft; scrolled.y += object.scrollTop;
if (object.tagName.toLowerCase() != "html" && object.parentNode) { scrolled=GetScrolled (object.parentNode, scrolled); }
return scrolled;
}
/*
// live monitoring
window.addEventListener('scroll', function (evt) {
var Positionsss = Get_Offset_From_CurrentView(myElement);
console.log(Positionsss);
});
*/
Vainilla:
window.addEventListener('scroll', function(ev) {
var someDiv = document.getElementById('someDiv');
var distanceToTop = someDiv.getBoundingClientRect().top;
console.log(distanceToTop);
});
Abra su consola de navegador y desplazarse su página para ver la distancia.
Esta es una gran respuesta. ¡¡Aclamaciones!! – CodeWarrior
- 1. detectar distancia desplazada desde la parte superior jquery
- 2. Posición de Div en relación con la parte superior de la ventana gráfica
- 3. siempre en la parte superior div dentro de la zona
- 4. de desplazamiento de nuevo a la parte superior del div
- 5. Cajón deslizante desde la parte superior
- 6. Android SlidingDrawer desde la parte superior?
- 7. Pegar Div a la parte superior después de desplazarse pasado
- 8. un div en la parte superior de otro
- 9. posicionar un div en la parte superior de una imagen
- 10. Mantener diálogos en la parte superior de la ventana, pero no en la parte superior de todo
- 11. Mantener la ventana en la parte superior al cambiar espacios
- 12. JavaScript en la parte inferior/superior de la página web?
- 13. DIV adjunto a la parte inferior de la ventana
- 14. ¿Cómo desplazar QPlainTextEdit a la parte superior?
- 15. desplazamiento QTextBrowser a la parte superior
- 16. Javascript: comprobar SI la página está en la parte superior
- 17. Cómo abrir colorbox desde dentro de un iframe en la parte superior de la ventana principal
- 18. jquery remove() salta a la parte superior de la página
- 19. Java setFullScreenWindow() mantener en la parte superior
- 20. jQuery obtener la altura desde la parte superior
- 21. JQuery ¿Desplazarse a Compensación desde la parte superior del navegador?
- 22. agregar algo a la parte superior de un objeto JSON
- 23. ¿Cómo mantener mi ventana más alta en la parte superior?
- 24. Enfrente de "siempre en la parte superior"
- 25. Cómo mostrar un menú en la parte superior de la barra de título de la ventana
- 26. UITextView margen extraño en la parte superior?
- 27. ExtJS 4 "siempre en la parte superior" Ventana
- 28. Dibujo en la parte superior de una imagen en Javascript
- 29. Div en la parte superior de la Div utilizando z-index
- 30. Corriendo/Interpretando C en la parte superior de la JVM?
es posible que desee [consulte esto] (http://www.quirksmode.org/js/findpos.html) – Joseph
'el.getBoundingClientRect(). Top + window.scrollY' – caub
@caub Eh, es solo 'el.getBoundingClientRect(). top'. Agregar la posición de desplazamiento se suma a la distancia hasta la parte superior del documento. https://developer.mozilla.org/de/docs/Web/API/Element/getBoundingClientRect – lynx