2009-03-24 11 views
4

Ich versuche, eine Art Wizard mit Thickbox zu machen, und es funktioniert gut, wenn ich es das erste Mal öffne. Wenn ich auf "Weiter" klicke, möchte ich das geöffnete div schließen und ein neues in Thickbox öffnen, aber wie wird es gemacht? Ich habe den folgenden Code versucht, aber es schließt nur die thickbox und es nicht wieder öffnen:Schließe die Thickbox und öffne sie wieder.

tb_show("", "#TB_inline?height=280&width=620&inlineId=divStart", ""); 
tb_remove(); 
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", ""); 

Antwort

5

können Sie diesen Code verwenden:

// nicht tb_remove() Funktion

$("#TB_window").remove(); 
$("body").append("<div id='TB_window'></div>"); 
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", ""); 

verwenden Wenn Sie iframe zum Laden von Inhalt verwenden:

var p = parent; 
p.$("#TB_window").remove(); 
p.$("body").append("<div id='TB_window'></div>"); 
p.tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", ""); 
0

ich die Antwort selbst gefunden. Ich öffnete ein div, das alle Schritte enthielt, und das just javascript entschied, was div zu zeigen war.

2

I zu dieser Antwort Seite kam und versuchte die hier vorgeschlagene Lösung. Es hat nicht funktioniert. Ich benutzte einen meiner alten Tricks, und wie fast immer funktionierte es. Obwohl dieser Beitrag mehr als 3 Jahre alt ist, wollte ich den Trick teilen. Der Trick besteht darin, window.setTimeout zu verwenden, um den Aufruf der nächsten tb_show() zu verzögern.

window.setTimeout(function(){ 
    tb_show("", "#TB_inline?height=300&width=300&inlineId=confirmDiv&modal=true"); 
    $("#TB_window").css({'border':'0px', 'background':'none'}); 
    },300); 

Bitte beachten Sie auch zwei weitere Tricks, die ich verwendet habe:

  1. ich ein modaler popup.The HTML war in einem div mit der ID "confirmDiv" zeigen wollte. Aber es zeigte die übliche Thickbox mit Titel und Padding. Die zweite Zeile entfernt also die Rahmen- und Hintergrundfarbe von TB_Window, die nur das Popup HTML anzeigt.

  2. Ich verwendete auch eine allgemeine Höhe Breite von 300px, obwohl mein Popup nur 250px war. Dies verhindert die Bildlaufleisten, auch wenn der Inhalt etwas größer ist. Das TB_Window wird sowieso nicht angezeigt, also spielt es keine Rolle.

Hoffe das hilft jemand.

Verwandte Themen