4

私はthickboxを使用して一種のウィザードを実行しようとしていますが、最初に開いたときに正常に機能します。[次へ]をクリックすると、開いたdivを閉じて、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", "");
4

3 に答える 3

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", "");
于 2009-07-11T05:22:29.683 に答える
2

この回答ページに来て、ここで提案された解決策を試しました。それは動かなかった。私は私の古いトリックの 1 つを使用しましたが、ほとんどの場合と同様に、うまくいきました。この投稿は 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); 

私が使用した他の2つのトリックにも注意してください。

  1. モーダル ポップアップを表示したかった.HTML は id "confirmDiv" の div にありました。しかし、タイトルとパディングのある通常のシックボックスが表示されていました。したがって、2 行目は TB_Window から境界線と背景色を削除し、ポップアップ HTML のみを表示します。

  2. また、ポップアップは 250px しかありませんでしたが、一般的な高さ幅 300px を使用しました。これにより、コンテンツが少し大きくてもスクロールバーが表示されなくなります。とにかく TB_Window は表示されないので、問題ありません。

これが誰かに役立つことを願っています。

于 2013-01-10T13:21:12.443 に答える
0

私は自分で答えを見つけました。すべてのステップを含む div を開き、javascript を介して表示する div を決定しました。

于 2009-03-24T09:52:38.943 に答える