質問

こんにちはすべてこういうことができるように近fancyBox時からのオープンです。

しかし、以下のものを無駄に:

function closeFancyBox(html){
    var re = /.*Element insert complete!.*/gi;
    if( html.search( re ) == 0 ){
        $.fancybox.close();
        //alert("foo");
    }
}

foo開ダイアログがあります。他のヒント?

役に立ちましたか?

解決

これを試してください:の 。。親$ fancybox.close();

Fancybox APIドキュメントを参照してください。

他のヒント

による http://fancybox.net/faq

  1. したいのであFancyBoxからその他の要素かどうかが判別されます。?

を押してくださ $.fn.fancybox.close() 月 おonClickイベント

するだけで追加することができる fn.

あなただけの空想ボックスを閉じたい場合は、

それはそれを閉じるために十分なものである。

$('#inline').click(function(){
  $.fancybox.close();
});

これはプロトタイプにに.Fn、それ意志reffersを置くことは使用されません。
何をする必要が$ .fancybox.close()です。

の事はあなたが多分JSから別のエラーが発生しているということである。
画面上の任意のエラーがあります?
あなたfancyboxとjQueryの最新リリースはありますか? jQueryの1.3何かに1.4.1とfbに現在ある

fancybox内のリンクを入れて実験し、その中にその機能を入れています。

あなたはおそらく、いずれにせよ読んでいました、 http://fancybox.net/apiする

あなたはおそらく行う必要があるかもしれないことの一つは、それが何であるかを実現するために、各パーツを分離されます。

あなたは閉じるボタンのIDを取得し、そのIDにイベントをクリックして呼び出すことでも、近くにfancyboxをすることができます。

<input type='button' value='Cancel' onclick='javascript:document.getElementById("fancybox-close").click();' />

これは、私の作品!

私は長年、同じ問題を持っていた私は以下のコードによって溶液を得ました。 使用してください。

parent.jQuery.fancybox.close()

古いスレッドのビットが、...

実は、私は疑っているの内のからウィンドウを閉じる方法については、元の質問への答えウィンドウはクリックイベントが要素に接続されていないという事実に関係する方を持っています。クリックイベントがdocument.readyイベントに添付されている場合fancyboxが新しいウィンドウを作成する際に添付されることはありません。

あなたは新しいウィンドウに一度再適用クリックイベントにする必要があります。おそらくこれを行う最も簡単な方法は、onCompleteの機能を使用することです。

これは私のために動作します:

$(".popup").fancybox({
    'transitionIn'  :   'fade',
    'transitionOut' :   'elastic',
    'speedIn'       :   600, 
    'speedOut'      :   400, 
    'overlayShow'   :   true,
    'overlayColor'  :   '#000022',
            'overlayOpacity'  : 0.8,
            'onComplete' : function(){$('.closer').click(function(){parent.$.fancybox.close();})}
});

実際には、むしろ「クリック」よりも「ライブ」の思考のビットまたは「バインド」の後に同じようにうまくいくかもしれません。

代わりにそれを閉じるためにこれを使用します:

$.fn.fancybox.close();

fancyboxのソースコードから判断すると、それは彼らが内部的にそれを閉じる処理する方法である。

これで自分を苦労した後、私はちょうどjQueryjQuery.fancybox.close()で$を交換し、私はそれのonClickのインラインスクリプト作られた作品解決策を見つけました。私は親からそれを呼び出すことができるかどうかを確認するために行く。

インラインタイプのための解決策を見つけるために私のような時間を過ごした人のために:window.setTimeoutは(関数(){。$ fancybox.close()}、10);

私が使用して終了します:

<script>parent.$("#fancy_close").click();</script>

私は私がコールするために、我々が持っているfancyboxのバージョンが$ .fancybox.close()関数を持っていないと思います

はFYI、私はちょうどそれがPHPでその処理を終えたとして、fancyboxを閉じるためにページを望んでいます。

あなたは、それがトリガーされるようにしたい、これまでの機能やコールバックでどこに$.fancybox.close()を追加、AJAX呼び出しの終わり!

Woohooます。

。。

のiframeを使用中で - 親$ fancybox.close();

fancyboxを閉じます関数にsetTimtoutを作るためにその必要をfuncitonによってfancyboxを閉じます Fancyboxは近い機能をaceptするためにいくつかの時間を必要とします 関数を呼び出す場合は直接動作しません。

function close_fancybox(){
$.fancybox.close();
                     }
setTimeout(close_fancybox, 50);
後にリダイレクトすることができますクリックしてくださいので、

はいVirtuemartにそのボタンクローズ続けショッピング、ない要素でなければなりません。.. 私は私のAJAXのウェブサイト上で、このリダイレクトのバグを発見します。

アヤックスfancyboxウィンドウを閉じるには、これを使用します:

onclick event -> $.fancybox.close();
return false;  
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top