2013-05-11 12 views
10

Ich verwende JQuery ThickBox 3.1, um meine Iframed Inhalt als Popup-Fenster zu zeigen.set jquery ThickBox Größe auf automatisch

<a href="popUp.aspx?id=<%#Eval("id")%>&TB_iframe=true&height=600&width=800" 
title='<%#Eval("Title")%>' class="thickbox"> 
<img id="thumbnailImage" runat="server" src='<%#Eval("ImagePath")%>' 
alt="Single Image" width="180" style="max-height:220px"/></a></div> 

Wenn ich 'thumbnailImage' klicken, wird die Seite 'popUp.aspx' wird als Popup-Fenster angezeigt.
Wie Sie sehen, gebe ich die Größe des Popup-Fensters height=600&width=800",
, aber ich habe eine Tabelle mit (Breite: Auto), damit die Breite meiner Tabelle dynamisch ändern kann!

Ich möchte wissen, wie Sie den Wert der Breite und Höhe von thickBox auf auto setzen.

Sie können die Datei css von thickBox und die Datei javascript sehen!

+1

Zuerst müssen Sie eine funktionierende Geige mit dem Fehler erstellen. Beginnen Sie hier: http://jsbin.com/ezivij/1/ –

Antwort

2

Nicht sicher, ob ich alles richtig verstanden habe, aber wenn Ihre Tabelle in einem iframe ist, müssen Sie wissen, dass ein iframe eine Grenze für viele Dinge auf Ihrer Seite ist.

Insbesondere fließt das Layout nicht durch einen Iframe. Es gibt die innerhalb des iframe und die außerhalb. Sie verlassen in völlig getrennten Welten und es gibt keine Möglichkeit, dass die Größe Ihrer Tabelle (die im Dokument innerhalb der der iFrame lebt) die Größe des iFrame selbst beeinflussen kann - oder alles, was im Dokument außerhalb der der lebt iframe.

Wenn Sie den Iframe nicht loswerden, ist Ihre einzige Lösung, Javascript zu verwenden, um die Größe aus dem Dokument innerhalb des iframe auf den iframe selbst zu kopieren. Dies setzt natürlich voraus, dass ein Skript dies tun darf, d. H. Sie haben keine Cross-Site-Scripting-Probleme (Ihr Iframe und das Hauptdokument müssen vom selben Ursprung stammen).

Zur Verdeutlichung und um richtig zu antworten: Sie stellen die falsche Frage. Wenn Sie die Thickbox-Größe auf 'auto' einstellen, wird Ihnen das nicht helfen. Sie müssen die Thickbox-Größe dynamisch auf den Wert actual setzen.