• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

das div soll immer sofort die Größe der beinhalteten Tabelle bekommen

andynail

Mitglied
das div soll immer sofort die Größe der beinhalteten Tabelle annehmen

Hallo zusammen

auf meiner Seite steckt eine Linksammlung in iframes in einer Tabelle. Und in einem iframe kann ein Link auch eine Linksammlung öffnen, welche direkt auf Bereiche einer Seite verlinkt. Und solch eine Linksammlung stelle ich dann in einem iframe namens subframe dar.

Doch da nicht jeder Link ein subframe öffnet, wird dieses ein- und im nächsten moment wieder ausgeblendet. Da aber zu dem subframe noch weitere Zellen in Zeilen dazugehören, wird die ganze Spalte mit visibility="collapse" ausgeblendet und ist dann auch nicht mehr zu sehen. Firefox meldet auch das dann die Tabelle die gewünschte Breite des immer noch zu sehenden iframes hätte, so wie das programmiert wurde. Doch das div in diesem sich die Tabelle befindet ändert nicht seine Größe nachdem mal das subframe angezeigt wurde, und das trotz display:inline und die Tabelle soll ja wie gesagt die richtige Größe besizen.

Und so würde ich gerne wissen, ob es denn noch andere Eigenschaftswerte gibt, denn mit der Größe des divs muß auch gerechnet werden können um zb. positionieraen zu können.

Danke Gruß Andreas
 
Zuletzt bearbeitet:
Werbung:
Hallo zusammen

auf meiner Seite steckt eine Linksammlung in iframes in einer Tabelle. Und in einem iframe kann ein Link auch eine Linksammlung öffnen, welche direkt auf Bereiche einer Seite verlinkt. Und solch eine Linksammlung stelle ich dann in einem iframe namens subframe dar.

Doch da nicht jeder Link ein subframe öffnet, wird dieses ein- und im nächsten moment wieder ausgeblendet. Da aber zu dem subframe noch weitere Zellen in Zeilen dazugehören, wird die ganze Spalte mit visibility="collapse" ausgeblendet und ist dann auch nicht mehr zu sehen. Firefox meldet auch das dann die Tabelle die gewünschte Breite des immer noch zu sehenden iframes hätte, so wie das programmiert wurde. Doch das div in diesem sich die Tabelle befindet ändert nicht seine Größe nachdem mal das subframe angezeigt wurde, und das trotz display:inline und die Tabelle soll ja wie gesagt die richtige Größe besizen.

Und so würde ich gerne wissen, ob es denn noch andere Eigenschaftswerte gibt, denn mit der Größe des divs muß auch gerechnet werden können um zb. positionieraen zu können.

Danke Gruß Andreas

Ich hab das jetzt 3mal gelesen und immer noch kein Wort verstanden!?
Vielleicht kannst du mal ein bischen Code posten!? Oder vielleicht schreibst du mal, was du erreichen möchtest - im Zweifel geht das auch ohne irgendwelche sub- und iframes...
 
Hallo igestalten

also noch einmal der Versuch, aber auf jeden Fall vielen Dank für Dein Interesse.

Also auf meiner Seite steht eine Tabelle in dieser 2 iframes in je einer Spalte stehen. In jedem iframe werden Tabellen mit Links aufgerufen und damit die 2. Spalte angezeigt wird, klickt man auf einen Link in dem iframe in der ersten Spalte der Tabelle.

Und um die Tabelle auf der Seite zu positionieren setze ich diese in ein div Element:

HTML:
<div style="position:absolute; display:inline; left:58%; top:58%">
<table style="border:5px solid #00ff00">
<colgroupe>
<col id="ColDatenFrame">
<col id="ColSubFrame" style='visibility:collapse'>
<colgroupe/>
<tr><td><iframe id="DatenFrame"></td></tr>
<tr><td><iframe id="SubFrame"></td></tr>
</table>
</div>

Sorry in den Zeilen stehen noch mehrere Steuerelemente und ich habe die Tabelle hier auf das Mindeste minimiert.

Und um beim anklicken des Links in der ersten Spalte verwende ich diesen Code um die zweite Spalte anzuzeigen:
Code:
top.document.getElementById("ColSubFrame").style.visibility = "visible"

Und um diese wieder auszublenden:
Code:
top.document.getElementById("ColSubFrame").style.visibility = "hidden"

Aber wie beschrieben bleibt dann die Größe des divs im firefox noch immer die Selbe als ob die Spalte noch immer angezeigt werden würde.

Mag ja sein dass es eine javascript Code Zeile dafür gebe. Aber liese sich dies verhindern, wäre das genial.

Ich freue mich auf Hilfe sehr freuen, da dies wirklich eine tolle Sache wäre.

Danke Gruß Andreas
 
Werbung:
Ja, das ließe sich verhindern, wenn Du auf diese Tabelle verzichtest. Dann hättest Du nur 2 iframes mit festen Breiten nebeneinander und bräuchtest, um eines auszublenden, nur von diesen beiden iframes die Breite ändern (eines auf 0, das andere auf 100%.

Wenn Du das warum auch immer nicht machen willst, müsstest Du die Tabellenzelle, nicht die colgroup und nicht das iframe ausblenden. Also
Code:
top.document.getElementById("SubFrame").style.display = "none";

zum Ausblenden und zum Einblenden diese Tabellenzelle für alle Browser außer den IE auf "display: table-cell;" und für den IE auf "display: block;" setzen. Ja, wg. dem IE ist das hier etwas komplizierter als mein erster Vorschlag im ersten Absatz.
 
Hallo

nur entschied ich mich für das Spalten ausblenden da ja noch weitere Zellen zu den iframes gehören. Also Zellen mit Steuerelementen passend zu den iframes. Und die iframes werden an die Größer deren Inhalte angepasst.

Ist es also nicht möglich die gesamte Spalte mit einer Zeile auszublenden?

Danke Gruß Andreas
 
Man kann auch mehrere JavaScript-Befehle auf eine Zeile schreiben. Das ist nicht das Problem.

Code:
var a=0;var b = 1;

Nur wieso? Weil Du es inline machst statt in einer externen JavaScript-Datei?
 
Werbung:
Zurück
Oben