Linker Offset eines Inline-Elements mit jQuery

7

Ich habe das folgende Stück HTML:

%Vor%

Die Breite des DIV ist mit CSS auf 600px festgelegt. Nun möchte ich den Offset () links vom Element <strong> finden. Also habe ich:

%Vor%

Allerdings scheint dies nicht den richtigen Wert zu ergeben, da ich deutlich sehen kann, dass das starke Element in der Mitte der Breite von 600 Pixel zu sehen ist, aber der Offset-Wert nur 8 Pixel beträgt.

Wie finde ich den offset (). left Wert des inline starken Elements?

    
philly77 15.06.2009, 12:28
quelle

3 Antworten

24

Hier ist was passiert:

Da sich das Inline-Element über mehrere Zeilen erstreckt, gibt jQuery Ihnen die Position ganz links dieses Elements, nicht den Offset des Elementanfangs.

Um dies zu umgehen, versuchen Sie dieses Plugin:

%Vor%

Das Plugin erstellt ein temporäres Element und fügt es direkt vor dem Zielelement ein - es gibt dann den Offset dieses temporären Elements zurück.

Beispielverwendung:

%Vor%     
James 15.06.2009, 12:41
quelle
0

Der Grund dafür, dass Sie das Ergebnis von 8px erhalten, ist, dass obwohl das Element auf halbem Weg durch den Container beginnt, da es einen Zeilenumbruch gibt, seine linke Kante um 8 Pixel von der Seite entfernt ist.

Ich habe eines dieser Gefühle, dass es wahrscheinlich einen viel besseren Weg gibt, dies zu tun, aber das erste, was ich mir vorstellen kann, um dieses Problem zu umgehen, ist ein anderes Element direkt vor dem <strong> einzufügen und seine Position zu überprüfen :

%Vor%     
nickf 15.06.2009 12:42
quelle
-1

Ich glaube, Offset ist relativ zum Dokument, während Position relativ zum Eltern ist.

Ссылка

    
ScottE 15.06.2009 12:36
quelle

Tags und Links