J'ai besoin de savoir que FANCYBOX a été ouvert que pour permettre ou refuser une autre fonction de démarrer. P>
Fonctions de construction Fancybox comme "Onstart" ou "Oncle" "ne fonctionne pas. P>
Je parle de la version 1.3.0 RC2 P>
8 Réponses :
Je ne suis pas sûr de ce que vous entendez par des fonctions intégrées. FANCYBOX a des rappels qui appellent des fonctions définies par l'utilisateur (que vous devez vous rendre).
Comme: Vous pouvez vérifier le fantaisie_content code> div pour voir s'il a quelque chose à l'intérieur.
(Si cela a, alors FANCYBOX est ouvert). P>
if ( $('#fancy_content:empty').length > 0 )
{
// Is empty
}
La version que vous utilisez apparemment ne correspond pas à la documentation; J'ai regardé la source et j'ai vu que les noms des options étaient différents des documents en ligne. Je viens de tester les éléments suivants avec 1.3RC2:
$(document).ready(function() { function myStartFunction() { alert('fancy box opened'); } $("a#inline").fancybox({ 'onStart': myStartFunction }); });
Haha, si vous pouvez voir à la source de Fancybox.net/Dev/130 Ils appellent un 'OnStart 'et etc du deuxième param. De cette façon, cela ne fonctionne pas. Merci beaucoup Erik ^^
Cela semble fonctionner pour moi:
isLoaded : function(){ return $('#fancybox-content').html()!=''; }
Essayez d'utiliser des méthodes ce code fonctionne bien p>
L'OP dit Je parle de la version 1.3.0 RC2 Code>
Si vous recherchez un moyen de déterminer si FANCYBOX est ouvert ou non (au lieu d'un événement déclenché lors de l'ouverture FANCYBOX), alors à partir de FANCYBOX V2, vous pouvez utiliser le Exemple: strong> p> L'exemple ci-dessus empêche l'ouverture une seconde boîte de fantaisie si on est déjà ouverte. p> p> $. Fancybox.isopen Code> Propriété. Il n'est pas documenté (au moins je n'ai trouvé aucune référence) mais cela fonctionne.
Si vous avez plusieurs divication que vous utilisez pour FANCYBOX, le code suivant peut être une solution meilleure et plus universelle: note également que la teneur en fantaisie peut ne pas être toujours vide, même si FANCYBOX est fermé. p> p>
$. FANCYBOX.ISOPEN CODE> (BOOL) Indique si FANCYBOX est ouvert. P>
meilleure et jolie solution, devrait être une réponse
Pour une raison quelconque, cela retourne non défini quand il est ouvert.
Réponse pour 2018 décembre.
<head> <link rel="stylesheet" href="//cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.2/dist/jquery.fancybox.min.css" /> <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script> <script src="//cdn.jsdelivr.net/npm/@fancyapps/fancybox@3.5.2/dist/jquery.fancybox.min.js"></script> </head> <body> <a data-fancybox data-options='{"iframe" : {"css" : {"width" : "80%", "height" : "80%"}}}' href="https://www.google.com/maps/search/?api=1&query=China" class="btn btn-primary" id="ffbox">Display Google Map</a> </body>