0

jQuery 1.6.4 カラーボックス 1.3.19

次のコードを使用してカラーボックスを開きます。

$.colorbox({inline: true,
            href: '#floatbox',
            innerHeight: '480',
            innerWidth: '530',
            top: '15%'});

「#floatbox」の内部にはボタンがあり、クリックすると、最終的に次の 2 回目のカラーボックスの呼び出しが発生します。

$.colorbox({html: 'some_valid_html',
            transition: 'none',
            escKey: false,
            overlayClose: false);

私が観察したのは、2番目のHTMLコンテンツが正しく表示されていることですが、への呼び出しの前です

$.colorbox.close()

その後、「#floatbox」の内容 (最初の呼び出しの内容) が画面に表示されます。これは私が期待するものではありません。最初の呼び出しのコンテンツが画面から削除されると、ユーザーに再び表示されたくありません。

これは Chrome/Safari での動作です。

次のようないくつかのことを試しました。

1) $.colorbox への 2 回目の呼び出しの前に、DOM から「#floatbox」を強制的に削除します。

2) $.colorbox への 2 番目の呼び出しを、1 番目のカラーボックス コンテンツでクリックされたリンクにバインドします。

3) $.colorbox 設定を操作して、最初の呼び出しから「inline」および「href」プロパティを「元に戻す」(ただし、とにかくそれを行う必要があるようには見えません)。

それはあたかも ColorBox が最初の呼び出しから DOM ノードのコピーを作成し、それを保持しているかのようです。

ここにいくつかの質問があります:

1) 最初の呼び出しからの「インライン」および「href」設定が何らかの形で記憶されている可能性はありますか?

2) 開いているカラーボックスの現在の設定を操作する方法はありますか?

他の考えは大歓迎です。

ありがとう、ウェス

4

1 に答える 1

1

それはあたかも ColorBox が最初の呼び出しから DOM ノードのコピーを作成し、それを保持しているかのようです。

ColorBox はその要素をコピーせず、DOM 内の元の場所からノードを移動します。コンテンツを変更すると、元に戻ります。

1) 最初の呼び出しからの「インライン」および「href」設定が何らかの形で記憶されている可能性はありますか?

いいえ、その情報は破棄されます。これらの問題の原因はわかりませんが、実装の見落としであると思われます。コードを調べて、カラーボックスを誤って呼び出していないことを確認します。

于 2012-08-23T10:55:44.623 に答える