我正在尝试使用thickbox来执行某种向导,并且在第一次打开它时它可以正常工作。当我点击下一步时,我想关闭我打开的div并在thickbox中打开一个新的,但它是如何完成的?我尝试了以下代码,但它只是关闭了厚箱而不再打开它:
tb_show("", "#TB_inline?height=280&width=620&inlineId=divStart", "");
tb_remove();
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", "");
答案 0 :(得分:5)
您可以使用此代码:
//不要使用tb_remove()函数
$("#TB_window").remove();
$("body").append("<div id='TB_window'></div>");
tb_show("", "#TB_inline?height=280&width=620&inlineId=divContinue", "");
如果您使用iframe加载内容:
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", "");
答案 1 :(得分:2)
我来到这个答案页面,并尝试了这里提出的解决方案。那没起效。我使用了一个古老的技巧,几乎每次都使用它,它起作用了。虽然这篇文章已经超过3年了,但我想分享这个伎俩。诀窍是使用window.setTimeout来延迟调用下一个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);
请注意我使用的其他两个技巧:
我想显示一个模态弹出窗口.HTML位于ID为“confirmDiv”的div中。但它显示了通常的厚盒标题和填充。因此第二行从TB_Window中删除边框和背景颜色,TB_Window仅显示弹出HTML。
我也使用了300px的一般高度,虽然我的弹出窗口只有250px。即使内容稍大,这也会阻止滚动条。无论如何TB_Window都没有显示,所以没关系。
希望这有助于某人。
答案 2 :(得分:0)
我自己找到了答案。我打开了一个包含所有步骤的div,并通过javascript决定显示div。