Schließen thickbox und öffnen Sie es wieder
-
21-08-2019 - |
Frage
Ich versuche Art eines Assistenten zu tun thickbox verwenden, und es funktioniert gut, wenn es das erste Mal geöffnet wird. Wenn ich auf nächstes würde Ich mag die Div I geöffnet schließen und ein neues in thickbox zu öffnen, aber wie wird es gemacht? Ich habe den folgenden Code versucht, aber es schließt nur die thickbox und sie nicht wieder geöffnet werden:
tb_show("", "#TB_inline?height=280&width=620&inlineId=divStart", "");
tb_remove();
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", "");
Lösung
Sie können diesen Code verwenden:
// 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", "");
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", "");
Andere Tipps
Ich kam zu dieser Antwort-Seite und versuchte, die hier vorgeschlagene Lösung. Es hat nicht funktioniert. Ich habe eines meiner alten Tricks, und wie fast jedes Mal, es hat funktioniert. Obwohl dieser Beitrag mehr als 3 Jahre alt ist, wollte ich den Trick teilen. Der Trick ist, window.setTimeout zu verwenden, um den Anruf an die 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:
-
Ich wollte ein modaler popup.The HTML war mit der ID "confirmDiv" in einem div zeigen. Aber es zeigte die übliche thickbox mit Titel und Polsterung. So ist die zweite Zeile entfernt den Rand und Hintergrundfarbe aus TB_Window, die nur den Popup-HTML zeigt.
-
Ich habe auch eine allgemeine Höhe Breite von 300px, obwohl mein Popup nur 250px war. Dadurch wird die Bildlaufleisten verhindern, selbst wenn der Inhalt ein wenig größer ist. Die TB_Window zeigt ohnehin nicht, so wird es keine Rolle spielen.
Hoffe, das hilft jemand.
fand ich die Antwort selbst. Ich öffnete ein div alle Schritte enthält, und die nur durch Javascript entschieden, welche div zu zeigen.