0

fancyboxajaxの呼び出しで次のようにします

               $.ajax({
                    type: 'POST',
                    url: 'sendmesse.php',
                    data: $("#messform").serialize(),
                    success: function(data) {
                        if(data == "true") {
                            $("#messform").fadeOut("fast", function(){
                                $(this).before("<strong>Success! Your feedback has been sent, thanks :)</strong>");
                                setTimeout($.fancybox.close(), 1000);
                                // $('.fancybox').close();
                                // $.fancybox.close();

                            });
                        }
                    }
                });

すべてがクロージングからうまく機能し、成功することなくさまざまなバリエーションを試しました。上記のタイムアウトは私に与えます Error: useless setTimeout call (missing quotes around argument?)

setTimeout('$.fancybox.close()', 1000); だから私は両方を 試し setTimeout("$.fancybox.close()", 1000); ましたが、次のエラーが発生しますTypeError: $ is undefined

...ヘルプ !

4

3 に答える 3

1

以下のようにしてみてください。

setTimeout(function(){ $.fancybox.close();}, 1000);
于 2012-08-07T09:03:41.907 に答える
1

setTimeout評価する関数参照または文字列のいずれかが必要です。あなたの場合、次のように呼び出してみてくださいsetTimeout

setTimeout(function() { $.fancybox.close(); }, 1000);
于 2012-08-07T09:04:25.797 に答える
0

次のような「closeMyFancyBox」という単純な関数を作成してみてください

function closeMyFancyBox() {
$.fancybox.close();
}

次に、その関数を次のように呼び出しますsetTimeout('closeMyFancyBox', 1000);

于 2012-08-07T09:04:52.893 に答える