2016-06-29 7 views
1

最新のfancyboxとjQuery 2.2.3を使用しています "親"ポップアップのボタンを押して "子ポップアップを閉じた後に親ポップアップを再度開くことができます。Fancyboxはポップアップを再度開くことができません:キャッチしたTypeError:ヌルのプロパティ 'width'を読み取ることができません

それ自体では、ポップアップが開いて閉じます。しかし、親を再オープンしようとすると、1秒間表示され、コンソールのメッセージで消えてしまいます。"jquery.fancybox.pack.js:40 Uncaught TypeError:nullのプロパティ 'width'を読み取れません"。これは、これを指すことがありますthis.overlay.width(a).height("100%");

私は手動で親を再開しようとすると、intstead私は "要求されたコンテンツを読み込むことができませんポップアップを参照してください。

私は(.fancybox・ツー・フォームがどの開く子供を押すことにより、親の内側のボタンである)の両方同様

に失敗し、二つのアプローチを試してみた:

1)

$(".fancybox-to-form").on("click", function(){ 
    var parentPopup = $(this).closest(".wall-popup"); 

    $.fancybox.open($("#popup-form"), {   
     afterClose: function(){ 
      $.fancybox.open({href: '#wall-popup--1'}); 
     } 
    }); 
}); 

2)

$(".fancybox-to-form").fancybox({ 
    afterClose: function(){ 
     var parentPopup = $(this.element).closest(".wall-popup"); 
     $.fancybox.open(parentPopup); 
    } 
}); 

ヘルプははるかに高く評価されるだろう。

答えて

1

2番目のファンシーボックスのsetTimeoutを試すことができます。 (〜100ms) 2番目のメッセージが表示された時点で、1番目のファンシーボックスが完全に閉じられていないことがあります。

関連する問題