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 = ''; } } }); });
Partager