Bonjour,
J'ai un problème avec toggle(), le script ci-dessous fonction bien, il ouvre le ul souhaité et remplace bien l'image voulu.

1) Par contre lorsqu'on clic une seconde fois sur img, le ul se referme mais l'image n'est pas de nouveau remplacé !!

2) Lorsqu'on fait plus fois la manip en cliquant sur l'image, la hauteur reste à 0
Le bug vient à priori de
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
function(){ //réglage de la hauteur en auto
if(this.wrapper.getStyle('height') != "0px"){this.wrapper.setStyle('height', 'auto');	}
mais comment faire?

Code de la fonction
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
var plier_deplier=function() {
		$$('#sortable-list img').each(function(el)
			{ 
			 el.addEvent('click', function()
				{	
 
				var ul=el.get('id').substr(3);
				var limodif=el.get('id').substr(5);
				var status = {  'false':new Element('img', {'id':"img"+ul,'src':"img/Expand.png",'style':"width:16px;height:16px;float:left"}),
								'true': new Element('img', {'id':"img"+ul,'src':"img/Collapse.png",'style':"width:16px;height:16px;float:left"})};	 
 
					 var myFx = new Fx.Slide(ul,{
										duration:500,
										onComplete: function(){ //réglage de la hauteur en auto
											if(this.wrapper.getStyle('height') != "0px"){this.wrapper.setStyle('height', 'auto');	}
											$('img'+ul).destroy();
											var id='t'+$(document.body).getElement('li[alt='+limodif+']').get('id').substr(5);
											status[myFx.open].inject($(id), 'before'); //inject la nouvelle image
											plier_deplier();// redéfinir addEvent pour prise en compte
											}
											}).toggle();			
				});
			});		
}
plier_deplier();
Merci pour votre aide
cedric