Wie finden Sie den Abstand in Pixel zwischen HTML-Element und einer der Browser (oder Fenster) Seiten (links oder oben) mit jQuery?Finden Sie den Abstand zwischen HTML-Element und Browser (oder Fenster) Seiten
Antwort
Sie können dafür die Funktion offset
verwenden. Es gibt Ihnen die Position relativ des Elements auf dem (links, oben) des Dokument:
var offset = $("#target").offset();
display("span is at " + offset.left + "," + offset.top +
" of document");
Live example in meinem Browser, das Beispiel sagt, dass die Spanne wir gezielt habe bei 157,47 ist (links, oben) des Dokuments. Dies liegt daran, dass ich einen großen Füllwert auf das Element body
angewendet habe und einen Bereich mit einem Abstandhalter darüber und etwas Text davor verwendet habe.
Here's a second example zeigt einen Absatz an der absoluten linken, oben im Dokument, zeigt 0,0 als seine Position (und zeigt auch eine Spannweite später, die von links und oben, 129,19 in meinem Browser versetzt ist).
Oh, ich sollte besser die Dokumentation lesen, danke :) – Kai
jQuery.offset
muss mit scrollTop
und scrollLeft
in diesem Diagramm gezeigten kombiniert werden:
Demo:
function getViewportOffset($e) {
var $window = $(window),
scrollLeft = $window.scrollLeft(),
scrollTop = $window.scrollTop(),
offset = $e.offset();
return {
left: offset.left - scrollLeft,
top: offset.top - scrollTop
};
}
$(window).on("load scroll resize", function() {
var viewportOffset = getViewportOffset($("#element"));
$("#log").text("left: " + viewportOffset.left + ", top: " + viewportOffset.top);
});
body { margin: 0; padding: 0; width: 1600px; height: 2048px; background-color: #CCCCCC; }
#element { width: 384px; height: 384px; margin-top: 1088px; margin-left: 768px; background-color: #99CCFF; }
#log { position: fixed; left: 0; top: 0; font: medium monospace; background-color: #EEE8AA; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script>
<!-- scroll right and bottom to locate the blue square -->
<div id="element"></div>
<div id="log"></div>
- 1. Finden Sie den Abstand zwischen zwei DIVs mit jQuery?
- 2. Finden Sie den Abstand jedes Paares zwischen zwei Vektoren
- 3. Entfernen Sie den Abstand zwischen Kontrollkästchen
- 4. UIScrollView Paging fügen Abstand zwischen den Seiten hinzu
- 5. Abstand zwischen den Spalten
- 6. Berechnen Sie den Abstand zwischen Längen- und Breitengrad mit MapKit
- 7. Google Cardboard So ändern Sie den Abstand zwischen den Augen
- 8. Gleicher Abstand zwischen den Steuerungen
- 9. J2ME - Ermitteln Sie den Abstand zwischen 2 Breitengrad und Längengrad
- 10. Den Abstand zwischen mehreren Punkten finden - Lat/Long
- 11. Abstand zwischen den Symbolleistenschaltflächen entfernen
- 12. Reduzieren Sie den Abstand zwischen Registerkarten und Container
- 13. Ändern Sie den Abstand zwischen Fontawesome Liste Symbol und Text
- 14. So navigieren Sie effektiv zwischen den Seiten
- 15. So finden Sie den Abstand zwischen Zeilen und Spalten in c
- 16. Abstand zwischen den angezeigten Elementen
- 17. Kommunikation zwischen den Seiten
- 18. ggplot2 vergrößert den Abstand zwischen den Legendenschlüsseln
- 19. Legen Sie den Abstand zwischen den Spannweiten mit Rand fest
- 20. So reduzieren Sie den Abstand zwischen den Zeilen mit Bootstrap
- 21. So geben Sie den Abstand zwischen den Schaltflächen mit Bootstrap
- 22. Ändern Sie den Abstand zwischen UIBarButtonItems in iOS 8
- 23. Abstand zwischen Logo und Menü
- 24. CSS: Wie ändere ich den Abstand zwischen Optionsfeld und Text?
- 25. Halten Sie Daten zwischen den Seiten in eckigen js
- 26. Erzielen Sie den vertikalen Abstand zwischen Element mit Anzeigetabellenzeile?
- 27. Abstand zwischen Checkbox und Text
- 28. Abstand zwischen Etikett und Eingang
- 29. Abstand zwischen Glyphon und Text?
- 30. Abstand zwischen Schaltflächen in einem Fenster in WPF
Siehe auch: [Messen Abstand zwischen zwei Zentren von HTML-Elementen] (http://stackoverflow.com/q/176 28456/31671). – alex