Bonjour tout est dit dans le titre je copi colle un exemple simple pour illustrer mon probleme

j'ai reperé la source du probleme elle vient du fait que le display none empeche le chargement du carrousel mais comment faire pour quand meme afiché celui ci dans le menu deroulant merci d avance


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
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
<script type="text/javascript">
var Carroussel_Rotation= function(Calque,tab){
	var DivPrincipale=Calque;
	var Taille_Totale=parseInt(Calque.offsetWidth);
	var Taille_Max=Taille_Totale/2;
	var ImageOrdre=new Array();
	var TabImages=new Array();
	TabImages=tab;
	var CW_I=new Array();
	var C_Pre_Img=new Array();
	var Debut;
	var Vitesse=50;
 
	var Ajout_Modif=0;
	var Demande_Modif=0;
	var Charge_Image=0;
 
	this.Definir_Vitesse=function(Vit){
		Vitesse=Vit;
	};
 
	this.Vitesse_Changement_Images=function(Vit){
		Diminution=Vit;
	};
 
	var RedimensionnerImage=function (Numero,largeur){
		CW_I[Numero].style.width=largeur +"px";    
		CW_I[Numero].style.height=parseInt((largeur/(C_Pre_Img[Numero].width))*C_Pre_Img[Numero].height) +"px";    
	}
 
	this.Carousel=function(){
		if(TabImages.length<4){
			alert("Erreur ! Pas assez d'image");
		}else{
 
			for(i=0;i<TabImages.length;i++){
				C_Pre_Img[i]=new Image();
				C_Pre_Img[i].src=TabImages[i];                        
			}
		}
		AttendreChargementImage();
	};        
 
	var AttendreChargementImage=function(){
		var res=true;
		DivPrincipale.innerHTML="<center>Loading...</center>";
		for(i=0;i<TabImages.length;i++){
			if(!C_Pre_Img[i].complete){
				res=false;
			}            
		}
		if(res){    
			Charge_Image=1;
			if(Demande_Modif==1){
				Redim(Ajout_Modif);
			}
			DivPrincipale.innerHTML="";
			CommencerCarrousel();                
		}else{
 
			setTimeout(function(){AttendreChargementImage();},100);
		}
	};
 
	var CommencerCarrousel=function(){        
 
		if(DivPrincipale.style.borderLeftWidth!=""){
			Debut=parseInt(DivPrincipale.offsetLeft)+parseInt(DivPrincipale.style.borderLeftWidth);
		}else{
			Debut=parseInt(DivPrincipale.offsetLeft);
		}
 
		for(i=0;i<TabImages.length;i++){
 
			CW_I[i]=document.createElement("img");
			CW_I[i].src=C_Pre_Img[i].src;
 
 
			DivPrincipale.appendChild(CW_I[i]);    
			CW_I[i].style.position="absolute";
			CW_I[i].style.visibility="hidden";
			CW_I[i].style.display="";
			CW_I[i].style.top="0px";
		}
 
		CW_I[0].style.left="0px";    
		RedimensionnerImage(0,Taille_Max/2);
		CW_I[0].style.visibility="visible";
		CW_I[0].style.display="";
 
		CW_I[1].style.left=CW_I[0].style.width;    
		RedimensionnerImage(1,Taille_Max);
		CW_I[1].style.visibility="visible";
		CW_I[1].style.display="";
 
		CW_I[2].style.right=0;    
 
		RedimensionnerImage(2,Taille_Totale-parseInt(CW_I[1].style.width)-parseInt(CW_I[0].style.width));
		CW_I[2].style.visibility="visible";
		CW_I[2].style.display="";
		for(i=0;i<TabImages.length;i++){
			ImageOrdre[i]=i;
		}
 
		Tourner_Carroussel();
 
	};
 
		var Tourner_Carroussel=function(){
			//on diminu l'image de gauche
			if((parseInt(CW_I[ImageOrdre[0]].style.width)-(1.5*Diminution))>10){
				RedimensionnerImage(ImageOrdre[0],parseInt(CW_I[ImageOrdre[0]].style.width)-(1.5*Diminution));
			}else{
				//todo disparition de l'image de gauche
				CW_I[ImageOrdre[0]].style.visible="hidden";
				CW_I[ImageOrdre[0]].style.display="";
				CW_I[ImageOrdre[1]].style.left="0px";
				var last=ImageOrdre[0];
				for(i=1;i<ImageOrdre.length;i++){
					ImageOrdre[i-1]=ImageOrdre[i];
				}
				ImageOrdre[ImageOrdre.length-1]=last;
			}
			//on diminu l'image suivante et on la décale
			RedimensionnerImage(ImageOrdre[1],parseInt(CW_I[ImageOrdre[1]].style.width)-(0.5*Diminution));
			CW_I[ImageOrdre[1]].style.left=parseInt(CW_I[ImageOrdre[0]].style.left)+parseInt(CW_I[ImageOrdre[0]].style.width)+"px";
			//on augmente la 3em image
			RedimensionnerImage(ImageOrdre[2],parseInt(CW_I[ImageOrdre[2]].style.width)+(1.5*Diminution));
			CW_I[ImageOrdre[2]].style.left=parseInt(CW_I[ImageOrdre[1]].style.left)+parseInt(CW_I[ImageOrdre[1]].style.width)+"px";
			//on augmente la 4em image
 
			var taille_restante=parseInt(Taille_Totale-(parseInt(CW_I[ImageOrdre[0]].style.width)+parseInt(CW_I[ImageOrdre[1]].style.width)+parseInt(CW_I[ImageOrdre[2]].style.width)));
			if(CW_I[ImageOrdre[3]].style.display==""){
				if(taille_restante>10){
					//on la montre
						//taille
						RedimensionnerImage(ImageOrdre[3],taille_restante);
						//position
						CW_I[ImageOrdre[3]].style.left=parseInt(CW_I[ImageOrdre[2]].style.left)+parseInt(CW_I[ImageOrdre[2]].style.width)+"px";                            
					CW_I[ImageOrdre[3]].style.display="";
					CW_I[ImageOrdre[3]].style.visibility="visible";
				}
			}else{
				RedimensionnerImage(ImageOrdre[3],taille_restante);
				CW_I[ImageOrdre[3]].style.left=parseInt(CW_I[ImageOrdre[2]].style.left)+parseInt(CW_I[ImageOrdre[2]].style.width)+"px";    
			}
			setTimeout(function(){Tourner_Carroussel();},Vitesse)
 
		};
 
	this.RedimentionnerCalque=function(ajout){
		if(Charge_Image==1){
			Redim(ajout);
		}else{
			Ajout_Modif=ajout;
			Demande_Modif=1;
		}
 
	};
 
 
	var Redim=function(ajout){
		max=0;
		for(i=0;i<TabImages.length;i++){
			val=parseInt((Taille_Max/C_Pre_Img[i].width)*C_Pre_Img[i].height);
			if(val>max){max=val;}
		}
		if(max!=0){
			DivPrincipale.style.height=(max+ajout)+"px";
		}
	}
 
this.Carousel();
 
}
</script>
	<script type="text/javascript">
 
		var Caroussel;
		function GenererCarrousel(){
 
			var Car_Image_Sources=new Array(
				"/images/references/1-pulser.png",
				"/images/references/Allianz.jpg",
				"/images/references/Altius.png",
				"/images/references/axpharma.png",
				"/images/references/dirce.jpg",
				"/images/references/editiontissot.jpg",
				"/images/references/marex.jpg",
				"/images/references/Novalto.png",
				"/images/references/oneforex.png",
				"/images/references/trignat.png"
			);
			Caroussel=new Carroussel_Rotation(document.getElementById('xd'),Car_Image_Sources);
			Caroussel.RedimentionnerCalque(32); //Ajuste le calque à la taille maximal  de l'image la plus grande
			Caroussel.Definir_Vitesse(60); //Vitesse de rotation des photos (par défault 50ms)
			Caroussel.Vitesse_Changement_Images(1); //Vitesse de modifications de la taille des photos (par défault 5pixels)
			// Caroussel.Definir_Vitesse_Fondu(0.01); //Vitesse du fondu
			$("xd").removeClass("preload");
		}
	</script>
 
	<script type="text/javascript">
 
function switchDisplay(){
    var defaut = document.getElementById('car');
    var autre = document.getElementById('preload');
 
    defaut.style.display = (defaut.style.display == 'none' ? '' : 'none');
    autre.style.display = (autre.style.display == '' ? '' : '');
	document.getElementById('preload').style.left="555px";
	document.getElementById('preload').style.top="20px";
	document.getElementById('preload').style.position="absolute";
}
 
 
	</script>
 
</script>
Code html : 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
30
31
32
33
34
35
36
37
38
39
40
<style type="text/css">
ul ul {display: none; position: absolute; left: 244px; top: -1px; margin:0px; padding: 0px; border: 1px solid grey;}
li {list-style-type: none; position: relative; width: 240px; background-color: #E0E0E0; padding: 2px; margin: 0px}
li:active {background-color: #FFFF70;}
li:hover ul.niveau2, li li:hover ul.niveau3 {display: block}
#preload {
display: block;
position: absolute;
left: -9999px;
top: 0px;
}
</style>
<div id="menu">
<ul class="niveau1">
  <li>
	Menu
	<ul class="niveau2">
	  <li>
		Extras
		<ul class="niveau3">
		  <li><div id="car"><div id="preload">
<body onload="javascript:GenererCarrousel();">
	<center>  
		<h2>ils nous ont fait confiance</h2>
	<div id="xd" style="position:relative; width: 300px;height: 150px; padding-bottom: 10px; display:block">&nbsp;</div>
	</center>
</body>
</div></div>
</li>
		  <li>Draguer la serveuse</li>
		</ul>
	  </li>
	  <li>Entr&eacute;e</li>
	  <li>Plat</li>
	  <li>Dessert</li>
	  <li>Caf&eacute;</li>
	</ul>
  </li>
</ul>
</div>