Dies ist wahrscheinlich eine wirklich einfache Frage, aber wie kann ich den richtigen Offset eines Elements in jQuery ermitteln?
Ich kann:
$("#whatever").offset().left;
und es ist gültig.
Aber es scheint, dass:
$("#whatever").offset().right
ist nicht definiert.
Wie erreicht man dies in jQuery?
Vielen Dank!!
$whatever[0].getBoundingClientRect().right
. Dies ist relativ zum linken Rand des Fensters.Referenz: .outerWidth ()
quelle
var rt = ($(window).width() - ($whatever.offset().left + $whatever.outerWidth()));
Vielleicht verstehe ich Ihre Frage falsch, aber der Versatz soll Ihnen zwei Variablen geben: eine horizontale und eine vertikale. Dies definiert die Position des Elements. Was Sie also suchen, ist:
und
Wenn Sie wissen möchten, wo sich die richtige Grenze Ihres Elements befindet, sollten Sie Folgendes verwenden:
quelle
Nur eine Ergänzung zu dem, was Greg gesagt hat:
Dieser Code erhält die richtige Position relativ zur linken Seite. Wenn beabsichtigt wurde, die rechte Seitenposition relativ zur rechten zu erhalten (wie bei Verwendung der CSS-
right
Eigenschaft), ist eine Ergänzung des Codes wie folgt erforderlich:Dieser Code ist nützlich in Animationen, in denen Sie die rechte Seite als festen Anker festlegen müssen, wenn Sie die
right
Eigenschaft zunächst nicht in CSS festlegen können .quelle
Eigentlich funktionieren diese nur, wenn das Fenster von der oberen linken Position überhaupt nicht gescrollt wird.
Sie müssen die Bildlaufwerte des Fensters subtrahieren, um einen Versatz zu erhalten, der zum Neupositionieren von Elementen nützlich ist, damit sie auf der Seite bleiben:
quelle
Es gibt eine native DOM-API, die dies sofort erreicht -
getBoundingClientRect
:quelle
Brendon Crawford hatte hier die beste Antwort (im Kommentar), also werde ich sie zu einer Antwort verschieben, bis er es tut (und vielleicht ein wenig erweitern).
quelle
Den Ankerpunkt von a bekommen
div/table (left) = $("#whatever").offset().left;
- ok!Um den Ankerpunkt von a zu erhalten
div/table (right)
, können Sie den folgenden Code verwenden.quelle