2010-03-18 9 views
2

En utilisant jQuery UI 1.8rc3 combiné avec le nouveau code jquery.effects.fade.js, j'ai finalement réussi à appliquer des effets de fondu entrant et sortant à l'ouverture des widgets Dialog UI. Hourra!Supprimer l'attribut de filtre après l'ouverture de la boîte de dialogue jQuery UI

$dialog.dialog({ 
     show: { effect: "fade", options: {}, speed: 150 } 
} 

Cela fonctionne très bien - malheureusement, there's the known IE7 & 8 bug où le ClearType s'éteint par l'application d'un attribut de style filter: vide après l'effet de fondu est terminé.

J'ai le code pour supprimer l'attribut de filtre, je ne trouve tout simplement pas un bon moyen de l'accrocher dans la chaîne d'événements. Les événements "open" et "focus" du dialogue sont trop tôt. J'ai besoin de quelque chose comme un rappel "animation d'ouverture de boîte de dialogue est terminée".

Comment connecter un rappel à la fin de l'effet d'ouverture d'une boîte de dialogue?

+0

'effect' lui-même prend un rappel, par exemple: http://jqueryui.com/demos/show/#option-callback Avez-vous essayé de le mettre là? –

+0

Je pense que c'est la méthode show() qui prend un callback. S'il y a un moyen de le spécifier dans le tableau des options (comme je l'ai posté), j'aimerais pouvoir le faire - mais je ne semble pas être capable de trouver un bon exemple. – womp

+0

l'objet 'show' semble prendre des propriétés nommées pour les arguments de la méthode' show() '. Avez-vous essayé 'show: {effect:" fade ", options: {}, vitesse: 150, callback: function() {...},'? –

Répondre

3

Essayez de mettre votre rappel comme la propriété complete de l'objet paramètre « show »:

.show({ 
    effect: "fade", 
    options: {}, 
    speed: 150, 
    complete: function() { 
     /* interesting stuff to do here */ 
    } 
    }) 

je suis arrivé qu'en regardant la source jQuery (noyau) pour jQuery.speed qui est, je pense, où cet objet passé à show sera envoyé.

+0

Parfait! Je souhaite qu'ils mettent à jour la documentation pour ce genre de choses;) – womp

+0

Je suis d'accord. Je lis tout le temps à quel point la documentation de jQuery est géniale, et même si je suis content pour ce qui est disponible, je souhaite vraiment qu'ils en fassent un wiki (ou au moins permettent aux "éditeurs" de s'enregistrer avec un minimum de tracas). – Pointy