Wie ermittle ich den Abstand zwischen der Spitze eines Div ganz oben auf dem aktuellen Bildschirm? Ich möchte nur den Pixelabstand zum oberen Bildschirmrand, nicht zum oberen Rand des Dokuments. Ich habe ein paar Dinge wie .offset()
und .offsetHeight
versucht, aber ich kann einfach nicht mein Gehirn um mich wickeln. Vielen Dank!Ermitteln Sie die Entfernung von der Spitze eines Div bis zum Anfang des Fensters mit Javascript
Antwort
Sie .offset()
verwenden können, um die im Vergleich zum document
Element versetzt und dann die scrollTop
Eigenschaft des window
Element verwenden, wie weit unten auf der Seite der Benutzer gescrollt hat:
var scrollTop = $(window).scrollTop(),
elementOffset = $('#my-element').offset().top,
distance = (elementOffset - scrollTop);
Die distance
Variable jetzt hält den Abstand von der Oberseite des #my-element
Elements und der oberen Falte. Hier
ist eine Demo: http://jsfiddle.net/Rxs2m/
Beachten Sie, dass negative Werte bedeuten, dass das Element über dem oberen-fach ist.
Ich habe diese:
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
Code:
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);
});
*/
Vanilla:
window.addEventListener('scroll', function(ev) {
var someDiv = document.getElementById('someDiv');
var distanceToTop = someDiv.getBoundingClientRect().top;
console.log(distanceToTop);
});
Browser-Konsole öffnen und blättern Sie Ihre Seite um den Abstand zu sehen.
Dies ist eine gute Antwort. Prost!! – CodeWarrior
- 1. So scrollen Sie an die Spitze eines modalen Fensters in Javascript
- 2. Wie weit bin ich von der Spitze des Fensters?
- 3. Ermitteln des Fensters/der Bildschirmgröße der Anwendung
- 4. Wie div Höhe von der Kopfzeile bis zum Ende des Fensters zu dehnen
- 5. Ermitteln der Entfernung mit Mapkit
- 6. Breite der DIV abhängig von der Breite des Fensters
- 7. Überprüfen, ob div in Sicht ist, wenn ja, gehe zum Anfang des Fensters
- 8. Wie positioniert man ein div an der Spitze eines anderen div mit Javascript?
- 9. Entfernung von Str bis zum Ende (Python)
- 10. Javascript zum verstecken eines DIV
- 11. Slant die Spitze eines div mit CSS ohne Verzerrung Text
- 12. Delphi: Erkennen von Anfang und Ende des Fensters bewegen
- 13. Ermitteln von URL-Änderungen (ohne Entladen des Fensters)
- 14. Ermitteln des Fensters Message Queue Depth
- 15. Regex von Anfang der Zeile bis zum ersten Doppelpunkt
- 16. Wie scrollt man mit jquery zum Anfang eines Divs?
- 17. JavaScript Accoridon - Automatisches Scrollen zum Anfang des offenen Akkordeons
- 18. jQuery - dynamische div Höhe gleich der Höhe des gesamten Fensters
- 19. Erstellen eines modalen Fensters zum Laden von Daten mit AngularJS
- 20. Javascript zum Ermitteln der Systemlautstärke (Ton) und des Audiosteckers
- 21. Scrollen Sie zum Anfang eines Steuerelements mit ScrollViewer in MVVM
- 22. Keep HTML-Tasten an der Spitze eines div
- 23. Festlegen der Mindestgröße eines JavaScript-Popup-Fensters
- 24. Erkennen, wenn die Größe eines Fensters mit JavaScript geändert wird?
- 25. Richten Sie die Grundlinie des Textes an der Spitze eines anderen Elements (CSS) aus
- 26. Ermitteln der Zeitzone des Clients mit C#
- 27. Finden Sie die Spitze eines Bounce
- 28. Sidebar mit Hintergrund Flüssigkeit zum Rand des Fensters
- 29. Make Div-Element 100% Höhe des Browser-Fensters mit CSS
- 30. Toggle auf Div springen zurück zum Anfang der Seite
können Sie [bitte dies überprüfen] (http://www.quirksmode.org/js/findpos.html) – Joseph
'el.getBoundingClientRect(). Top + window.scrollY' – caub
@caub Eh, es ist nur 'el.getBoundingClientRect(). top'. Wenn Sie die Bildlaufposition hinzufügen, wird der Abstand zum oberen Rand des Dokuments addiert. https://developer.mozilla.org/de/docs/Web/API/Element/getBoundingClientRect – lynx