/ / Fancybox afterClose nie działa - javascript, jquery, fancybox, fancybox-2

Event Fancybox afterClose nie działa - javascript, jquery, fancybox, fancybox-2

Mam problem z używaniem API fancybox po zamknięciu.

Otwieram tę funkcję, gdy ludzie klikają to:

<a class="fancybox fancybox.iframe btn" href="myurl.php"></a>

Za tym językiem jest javascript:

$(".fancybox.iframe")
.fancybox({
arrows: false,
padding: 0,
overlay: {
locked: false
},
beforeClose: function () {
location.reload();
}
});

I nigdy nie przeładuje strony po jej zamknięciu. Czy ktoś może mi pomóc? Dziękuję Ci !

Odpowiedzi:

4 dla odpowiedzi № 1

Kilka wyjaśnień, aby uniknąć dalszych nieporozumień:

Na podstawie Twojego html

<a class="fancybox fancybox.iframe btn" href="myurl.php"></a>
  1. Użyj afterClose callback (nie an event) zamiast beforeClose. Aby uzyskać dalszą kontrolę porównawczą Porady & Triki => Nr 11

  2. The klasa fancybox jest używany do wiązania selektora do fancybox, więc twój kod inicjujący powinien wyglądać tak

    jQuery(document).ready(function ($) {
    $(".fancybox").fancybox({
    arrows: false,
    padding: 0,
    helpers: {
    overlay: {
    locked: false
    }
    },
    afterClose: function () {
    location.reload();
    }
    });
    }); // ready
    
  3. The (valid) fancybox.iframe klasa mówi fancybox o typie zawartości, którą powinien obsłużyć, ale nie używasz go do wiązania selektora z fancyboxem.

Widzieć JSFIDDLE

UWAGA : to jest dla fancybox v2.x


1 dla odpowiedzi nr 2

Powinieneś użyć

$(".fancybox.iframe").fancybox({
arrows: false,
padding: 0,
helpers: { overlay : {closeClick: false} },
beforeClose: function () {
parent.location.reload(true);
}
});

(Zauważ, że składnia różni się między wersją 1 i 2 w fancybox. Powyższe dotyczy fancybox2)


0 dla odpowiedzi № 3

Spróbuj użyć onClose zdarzenie:

$(".fancybox.iframe")
.fancybox({
arrows : false,
padding: 0,
overlay: {
locked: false
},
onClosed: function() {
location.reload();
}

});

Według API nie ma beforeClose wydarzenie, ale jest onClose

http://fancybox.net/api