div an die Stelle eines Objekts im iFrame setzen
blander
- javascript
Hallo zusammen
meine Seite zeigt ein iframe in diesem Linksammlungen angezeigt werden.
Und zu manchen Links gibt es Zusatzinformationen die in einem div zum rauskopieren angezeigt werden sollen. Da aber das div gerne breiter sein kann als der Inhalt des iframes, dessen Größer am Inhalt angepasst wird, wird dieses auf der Elternseite angezeigt.
Und ist es ja aber so, daß wenn im iframe gescrollt wurde, sich das objekt an einer anderen stelle befindet. Also würde ich gerne wissen, wie weit in diesem iframe gescrollt wurde, oder gar gleich an welcher Stelle jetzt das Objekt/der Link sitzt.
Danke gruß Andreas
Innerhalb des iframes hast Du in vernünftigen Browsern die window.pageYOffset-Eigenschaft und im IE die document.documentElement.scrollTop-Eigenschaft. Wenn beide nicht funktionieren sollten, befindest Du Dich im Quirks-Mode und solltest Dich zum Schämen in die Ecke stellen.
Gruß, LX
Grundlage für Zitat #1710.
Hallo
ok die Variante window.pageYOffset funktioniert im firefox und dafür aber die Variante document.documentElement.scrollTop nicht. Ich rufe die Funktion mit showinfo(this) auf und schreibe dann Link.scrollTop und dabei kommt immer 0 raus.
Und dann bräuchte ich ja aber auch noch die Position des Objekts und bekomme mit offsetTop immer nur 11 raus. Wahrscheinlich weil die Links durch Tabellen-Zellen getrennt sind.
Danke gruß Andreas
ok die Variante window.pageYOffset funktioniert im firefox und dafür aber die Variante document.documentElement.scrollTop nicht. Ich rufe die Funktion mit showinfo(this) auf und schreibe dann Link.scrollTop und dabei kommt immer 0 raus.
Dann machst du etwas falsch.
Und dann bräuchte ich ja aber auch noch die Position des Objekts und bekomme mit offsetTop immer nur 11 raus. Wahrscheinlich weil die Links durch Tabellen-Zellen getrennt sind.
Wahrscheinlich - hast du mal eine Seite gesucht, die erläutert wie man die Position eines Elementes ermitteln kann?
Ich könnte jetzt noch mehr Vermutungen und Spekulationen aufstellen, einfacher wäre es aber, du gibst mehr Preis von dem was du konkret tust.
Struppi.
Hallo
ich blende das Objekt mit klick auf den Link wie folgt ein:
function ShowInfo(Link)
{
var LinkTop = Link.offsetParent.offsetTop + Link.offsetTop
var LinkLeft = Link.offsetParent.offsetLeft + Link.offsetLeft
top.document.getElementById("Informationen").style.left = LinkLeft + top.document.getElementById("Bereich").offsetLeft + 30 + "px"
top.document.getElementById("Informationen").style.top = LinkTop + top.document.getElementById("Datenbereich").offsetTop + top.document.getElementById("TRKennung").offsetHeight + 30 + "px"
top.document.getElementById("Informationen").innerHTML = Link.title
top.document.getElementById("Informationen").style.visibility = "visible"
top.document.getElementById("Informationen").focus()
}
und so bekomme ich auch die Position des Links heraus. Wie Links untereinander in Tabellen geschrieben werden muß ich bestimmt nicht zeigen. Es fehlt mir jetzt ja nur noch die Angabe wie weit gescrollt wurde. Und egal schreibe ich Link.scrollTop oder Link.offsetParent.scrollTop, alert gibt immer 0 aus.
Danke gruß Andreas
Jo wahnsinn bekomme ich Hilfeleistung.
Und dann hab ich mirs selber gelöst. Denn ich setze das div jetzt einfach an die Position meines Maus-Cursors. Und das funktioniert.
Vielleicht klappts ja beim nächsten Mail besser. Vielleicht hab ich ja mehr Glück.
Also bis dann Gruß Andreas
Hi,
Und zu manchen Links gibt es Zusatzinformationen die in einem div zum rauskopieren angezeigt werden sollen. Da aber das div gerne breiter sein kann als der Inhalt des iframes, dessen Größer am Inhalt angepasst wird, wird dieses auf der Elternseite angezeigt.
Daraus ist zu schließen, daß der iframe-Inhalt auf der selben Domain zu finden ist wie die Rahmenseite (sonst wäre das mit der Größenanpassung m.W. nicht möglich).
Muß es denn ein iframe sein? Kannst Du den iframe-Inhalt nicht in ein (scrollbares) Element der Rahmenseite direkt einbauen?
Wenn kein iframe mehr im Spiel wäre: das anzuzeigende div in das (relativ positionierte) parent-Element des Links einhängen und dann absolut positionieren.
cu,
Andreas