Fancybox onComplete fonction pas en cours d'exécution
Pour une raison quelconque, il est juste de ne pas courir le onComplete
fonction. Cependant, la charge de la fancybox div. Mon code html:
<ul>
<li class="orange">
#1 <a href="#text">click here</a>
<div id="text" class="text">text text text</div>
</li>
</ul>
Mon jquery:
jQuery('li a').fancybox({
'autoDimensions': 'false',
'width' : 631,
'height': 256,
'onComplete':function(){
alert('running');
jQuery('.fancybox-skin').css('background-color',colour);
}
});
l'alerte ne fonctionne pas. J'ai aussi essayé de changer la fonction d'événement à onClosed
et les autres événements, et rien.
- avez-vous envisagé? jsfiddle.net/3Nf4c
- c'est la solution pour fancybox 2 stackoverflow.com/questions/10295746/...
Vous devez vous connecter pour publier un commentaire.
Je suppose que vous avez oublié de spécifier quelle version de fancybox vous utilisez.
onComplete
est une option de rappel pour fancybox v1.3.x tout lefancybox-skin
classe a été introduit jusqu'à la version 2.x, ..... donc je suppose que vous utilisez la version 2.x, n'est-ce pas?Fancybox v2.x options sont nouvelles et ne sont pas compatibles avec les versions précédentes, l'équivalent pour le
onComplete
(v1.3.x) l'option est maintenant leafterLoad
(v2.x) option de rappel.Vérifier http://fancyapps.com/fancybox/#docs pour la liste complète des options, des méthodes et des rappels pour les fancybox v2.x
afterShow
ferait de façon plus logique de l'utiliser si vous envisagez sur l'ajout de tous les événements.afterLoad
feux dès qu'il est prêt à charger avant, il montre de quoi que ce soitafterLoad
a le droit de rappel à utiliser. Aujourd'hui, si vous me le demander, je voudrais utiliserbeforeShow
avec la dernière version de fancybox (v2.1.4) ..... malheureusement, il est très difficile de tenir à jour la plupart des réponses dans la et les gens devraient se méfier que certaines réponses peuvent être obsolètes.afterShow
Je pense que c'est le bon équivalent àonComplete
dans Fabxybox 2afterShow
a fait le travail comme prévu.afterLoad
n'était pas le bon événement pour ajouter cet attribut:$('.fancybox-image').attr('usemap', '#Map');
Fancybox version 2 ne prend pas en charge
onComplete
. Il utiliseafterLoad
.semble que Faute de frappe
Exemple de travail
.fancybox-skin
couleur d'arrière-plan? pourriez-vous fournir le lien du site.fancybox-skin
sélecteur jquery.fancybox-1.3.4.cssUtilisation postcharge au lieu de onComplete