Ich habe eine Frage zur Funktion jQuery offset (). Ich verwende es auf meiner Website, um das Fenster "E-Mail an einen Freund" anzuzeigen, nachdem ich auf das E-Mail-Symbol geklickt habe.
Das Fenster erscheint jedoch auf der rechten Seite des Browserfensters und nicht auf der Position des Symbols. Sie können es in Aktion auf Ссылка
sehen %Vor%Es gibt ein Bild, das den Unterschied zwischen Absicht und Realität zeigt.
Es liegt daran, dass #container
position: relative;
hat. Daher sind die absoluten Einstellungen der E-Mail-Box relativ zum #Container. Sie müssen entweder die Eigenschaft entfernen oder den Wert von left
mit etwas wie diesem berechnen:
benutzen Sie einfach die Position istead. Mit der .position () -Methode können wir die aktuelle Position eines Elements relativ zum Offset-Parent abrufen. Vergleichen Sie dies mit .offset (), wodurch die aktuelle Position relativ zum Dokument abgerufen wird.
%Vor%hat appendTo ('. userTools') hinzugefügt. Ein Element, das an derselben Position wie ein anderes Element angezeigt wird, sollte sich innerhalb desselben Elements befinden. Dann funktioniert die Position und funktioniert auch, wenn Sie das Layout ändern.
Wenn Sie die dom-Struktur aus irgendeinem Grund nicht ändern möchten, sollten Sie etwas wie folgt verwenden:
%Vor%Tags und Links javascript jquery offset