2016-06-29 8 views
1

Mit den letzten fancybox und jQuery 2.2.3 Ich versuche ein "Kind" Popup zu öffnen, indem ich einen Knopf im "Eltern" Popup drücke und öffne Popup erneut, nachdem das untergeordnete Popup geschlossen wurde.Fancybox kann Popup nicht wieder öffnen: Uncaught TypeError: Kann die Eigenschaft 'width' von null nicht lesen

Von sich aus öffnen und schließen Popups ganz gut. Aber wenn ich versuche, Eltern wieder zu öffnen, zeigt es für eine Sekunde, dann verschwindet mit einer Nachricht in der Konsole: "jquery.fancycox.pack.js: 40 Uncaught TypeError: Kann Eigenschaft 'width' von null" nicht lesen. Das zeigt darauf: this.overlay.width(a).height("100%");

Wenn ich versuche, Eltern manuell zu öffnen, sehe ich ein Popup mit "Der angeforderte Inhalt kann nicht geladen werden. Bitte versuchen Sie es später noch einmal."

ich zwei Ansätze versucht haben, scheitern beide ähnlich

(.fancybox-to-Formular eine Schaltfläche innerhalb Elternteil, mit dem Sie offen Kind drücken):

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); 
    } 
}); 

Hilfe sehr geschätzt würde.

Antwort

1

Sie können versuchen, Timeout für die 2. Fancybox einzustellen. (~ 100ms) Vielleicht ist die 1. Fancybox nicht vollständig geschlossen, wenn die 2. angezeigt wird.

Verwandte Themen