Bonjour,

J'ai une fonction qui combine ajax et des effets:

Lors d'un click sur une image, je remplis le contenu d'un div en ajax (qui est par défaut en "display: none"), et j'applique un effet d'affichage: Effect.BlindDown.

Le problème c'est que tous ces codes s'exécutent en même temps. Donc le div s'affiche a lors que ajax n'a pas encore chargé l'intérieur du div (et le problème est que effet.blinddown utilise la largeur et longueur du div pour effectuer l'effet, mais ceux ci sont a 0 au moment de l'exécution de l'effet

Et donc visuellement ça ressemble a rien

Si quelqu'un a une idée...

Merci
Tious

Pour visu voici mon code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
 
 var myArray = $('body').getElementsBySelector('[blind]');
 
            myArray.each(function(item) {   // Your code working on item here... 
 
                item.observe('click', function(event){
 
                    if ( Event.element(event).readAttribute('tag')  != undefined ){
                        var id = event.element(event).readAttribute('tag');
 
                        if ( $(id).style.display == 'none'){
 
                            new Ajax.Updater( id , 'get_popup_details.php', 
                            {   asynchronous: true,
                                parameters: { id: Event.element(event).readAttribute('tag') }
                            }); 
 
                             Effect.BlindDown( id );
                            }
 
                        else {
                            Effect.BlindUp( id );
                            $(id).innerHTML = '';
                            }
 
                    } 
                });
 
            });