jQuery Offset (). left funktioniert nicht richtig

8

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.

    
FilipBenes 19.11.2012, 07:12
quelle

2 Antworten

9

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:

%Vor%     
Michał Miszczyszyn 19.11.2012, 07:18
quelle
3

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%     
iRaS 19.11.2012 07:38
quelle

Tags und Links