Question

Je suis en train de faire une sorte de magicien en utilisant thickbox, et il fonctionne très bien lors de l'ouverture la première fois. Lorsque je clique sur suivant, je voudrais fermer la div que j'ai ouvert et ouvrir un nouveau dans thickbox, mais comment est-il fait? J'ai essayé le code suivant, mais il ferme juste le thickbox et ne l'ouvre pas nouveau:

tb_show("", "#TB_inline?height=280&width=620&inlineId=divStart", "");
tb_remove();
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", "");
Était-ce utile?

La solution

Vous pouvez utiliser ce code:

// Ne pas utiliser la fonction tb_remove ()

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

Si vous utilisez iframe pour le contenu de chargement:

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", "");

Autres conseils

Je suis venu à cette page de réponse, et a essayé la solution proposée ici. Cela n'a pas fonctionné. J'ai utilisé un de mes vieux trucs, et comme presque à chaque fois, cela a fonctionné. Bien que ce poste a plus de 3 ans, je voulais partager l'affaire. L'astuce consiste à utiliser window.setTimeout pour retarder l'appel à la prochaine tb_show ().

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

S'il vous plaît noter également deux autres trucs que j'ai utilisé:

  1. Je voulais montrer un popup.The modal HTML était dans un div id "confirmDiv". Mais il montrait la thickbox habituelle avec le titre et le rembourrage. Ainsi, la deuxième ligne supprime la couleur de la bordure et le fond de TB_Window, ce qui montre que le code HTML contextuel.

  2. J'ai aussi utilisé une largeur de hauteur générale de 300px, bien que mon pop-up était seulement 250px. Cela permettra d'éviter les barres de défilement, même si le contenu est un peu plus grand. Le TB_Window ne montre pas de toute façon, il ne sera pas question.

Espérons que cela aide quelqu'un.

J'ai trouvé la réponse moi-même. J'ai ouvert un div contenant toutes les étapes, et juste à travers javascript décidé ce div à afficher.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top