Autor |
Nachricht |
flesym
Threadersteller
Dabei seit: 04.01.2007
Ort: Berlin
Alter: 38
Geschlecht:
|
Verfasst Mi 21.03.2012 17:53
Titel jQuery - Absolute Position mit .offset() ermitteln? |
 |
|
Ich habe ein Problem mit jQuery. Sitze nun seit einigen Stunden dran und finde keine Lösung.
Insbesondere mit der .offset() Funktion. Nach langem googlen und Co. soll es damit möglich sein,
ganz einfach die absolute Position eines Elements auf einer Webseite herauszulesen.
Zum verdeutlichen folgendes kleines Beispiel. Es befinden sich 3 Bilder auf der Webseite:
Code: | <img id="basel" width="800" src="basel/swiss-type-1.jpg" />
<img id="vacuo" width="800" src="In-Vacuo_Heft-Web/in-vacuo-2-web.jpg" />
<img id="booklet" width="800" src="Web_Manifesto/manifesto0-Kopie.jpg" /> |
Dazu folgender simpler jQuery Code:
Code: | var baselOffset = $("#basel").offset();
var vacuoOffset = $("#vacuo").offset();
var bookletOffset = $("#booklet").offset(); |
Die Werte die ich für xxxxxOffset.top erhalte, sind aber alle 8... Da die Bilder aber alle unter einander liegen, erwarte ich eigentlich, dass mir der richtige Abstand zum oberen Anfang der Webseite übergeben wird. Auf jQuery ist nachzulesen:
Zitat: | The .offset() method allows us to retrieve the current position of an element relative to the document. |
Das document müsste doch in diesem Fall die Webseite selbst sein, vor allem, da keine weiteren Eltern-Elemente über den Bildern liegen. ... Was mache ich falsch? Möglich, dass ich den Sinn von offset nicht verstehe, da ich nur englische Definitionen finde, und Englisch nicht meine Muttersprache ist.
Ich möchte am Ende eine Webseite haben mit beispielsweise 10 Bildern, die alle beispielsweise 100px groß sind und unter einander liegen. Rufe ich die offset-Funktion für das 8te Bild auf, erwarte ich den Wert 800. Wozu das ganze soll hier erstmal keine Rolle spielen.
Danke für jede Hilfe!
|
|
|
|
 |
flesym
Threadersteller
Dabei seit: 04.01.2007
Ort: Berlin
Alter: 38
Geschlecht:
|
Verfasst Mi 21.03.2012 18:08
Titel
|
 |
|
Okay, ich bin mir noch nicht sicher, aber es könnte daran liegen, dass meine IMGs keine Angabe für die Höhe hatten. Ich probiere das gleich mal im Hauptprojekt aus und lasse es Euch wissen.
|
|
|
|
 |
Anzeige
|
|
 |
zweitaccount
Dabei seit: 25.01.2008
Ort: -
Alter: -
Geschlecht: -
|
Verfasst Mi 21.03.2012 18:16
Titel
|
 |
|
Hi,
ja genau, entweder du gibts deinen Bildern eine Höhe oder
du führst dein Script erst window.onLoad aus - ansonsten
kann jquery nicht wissen wie hoch deine Bilder sind..
Die Höhe mitzugeben ist aber auf jedenfall sinniger...
Grüße
zweitaccount
|
|
|
|
 |
fyll
Dabei seit: 20.09.2003
Ort: Augsburg
Alter: 40
Geschlecht:
|
Verfasst Do 22.03.2012 11:42
Titel
|
 |
|
zweitaccount hat geschrieben: | Hi,
ja genau, entweder du gibts deinen Bildern eine Höhe oder
du führst dein Script erst window.onLoad aus - ansonsten
kann jquery nicht wissen wie hoch deine Bilder sind.. |
Er könnt doch statt nem ganzen window.onLoad auch ein image.onLoad (oder .load(function() {}) bei jQuery) nehmen...
|
|
|
|
 |
pantonine
Dabei seit: 03.03.2011
Ort: gehen Sie bitte weiter…
Alter: -
Geschlecht: -
|
Verfasst Do 22.03.2012 11:52
Titel
|
 |
|
Zitat: | Wozu das ganze soll hier erstmal keine Rolle spielen. *bäh* | Vielleicht spielt es spätestens jetzt doch eine Rolle. Denn statt onLoad käme vielleicht auch ein spezifisches Event in Frage, wenn mit den Bildern in Interaktion getreten wird.
Zitat: | auch ein image.onLoad | Die Frage ist, ob die Bilder immer in der linearen Reihenfolge fertig laden. Ansonsten hängt ja der Offset auch von den Höhen der anderen Bilder ab.
Zuletzt bearbeitet von pantonine am Do 22.03.2012 11:54, insgesamt 1-mal bearbeitet
|
|
|
|
 |
|
|
 |
Ähnliche Themen |
Photoshop: Absolute Elementgröße ermitteln
[css] safari und position: absolute;
position absolute und footer problem
Position:absolute Problem im Firefox
[CSS] rotate + position fixed/absolute
mal wieder div position:absolute oder relative
|
 |