2016-06-29 1 views
1

fancybox과 jQuery 2.2.3을 사용하여 "부모"팝업에서 버튼을 눌러 "하위"팝업을 열려고합니다. 자식 팝업을 닫은 후에 부모 팝업을 다시여십시오.Fancybox가 팝업을 다시 열 수 없습니다. Uncaught TypeError : null의 'width'속성을 읽을 수 없습니다.

그 자체로 팝업이 열리고 닫힙니다. 하지만 부모를 다시 열려고 시도하면 콘솔에있는 메시지와 함께 잠시 표시됩니다. "jquery.fancybox.pack.js : 40 Uncaught TypeError : null의 속성 'width'을 읽을 수 없습니다.. 어떤 점을 지적 : this.overlay.width(a).height("100%");

부모를 수동으로 다시 열려고하면 "요청한 콘텐츠를로드 할 수 없습니다."라는 팝업이 나타납니다. 나중에 다시 시도하십시오.

내가 두 가지 방법을 시도했습니다

은 모두 유사하게 실패

(어느 열고 아이를 눌러 부모 내부의 버튼입니다 .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

두 번째 fancybox에 대해 setTimeout을 시도 할 수 있습니다. (~ 100ms) 2 번째가 표시 될 때 첫 번째 fancybox가 완전히 닫히지 않았을 수 있습니다.

관련 문제