Bonjour,
J'ai un soucis sur l'une de mes applications Javascript. Au début tout va bien, le code marche pas de soucis, mais d'un seul coup il ne fait plus ce que je lui demande, il excute une fonction ou une action qu'il ne devrait pas.
Lorsque je fais un Onmousseover, je souhaite faire descendre progréssivement un élément de mon menu.
De même pour le Onmousseout, qui lui est censé faire remonter cet élément à sa position d'origine.
Voici mes éléments du menu.
Pour ce qui est du javascript j'utilise trois fonctions que voici.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 <li> <a id="PaquesBeau" onmouseover="ExecToggle(this.id);" onmouseout="ExecToggle(this.id);" href="/fr/evenements/paques/beau.shtml" title="à la rencontre du beau" class="beau">à la rencontre du beau</a> </li> <li> <a id="PaquesFete" onmouseover="ExecToggle(this.id);" onmouseout="ExecToggle(this.id);" href="/fr/evenements/paques/fete.shtml" title="vers des destinations conviviales" class="fete">vers des destinations conviviales</a> </li>
Si vous pouviez m'aider à faire ne sorte que ce code marche Je ne cherche pas à faire quelque chose de compliqué, mais j'aimerais ne pas utiliser une fonction par élément du menu.
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 var i = Array(); var position = Array(); function ToggleBottom(ToggleID) { if(document.getElementById(ToggleID) && i[ToggleID]<30) { i[ToggleID]+=1; document.getElementById(ToggleID).style.top=i[ToggleID]+"px"; if(i[ToggleID] == 30) { clearInterval(ExecInter); position[ToggleID] = "top"; } } } function ToggleTop(ToggleID) { if(document.getElementById(ToggleID) && i[ToggleID]>0) { i[ToggleID]-=1; document.getElementById(ToggleID).style.top=i[ToggleID]+"px"; if(i[ToggleID] == 0) { clearInterval(ExecInter); position[ToggleID] = "bottom"; } } } function ExecToggle(ToggleID) { if(position[ToggleID] == null || position[ToggleID] == "bottom") { i[ToggleID] = 0; ExecInter = setInterval(function(){ToggleBottom(ToggleID);}, 25); } if(position[ToggleID] == "top") { i[ToggleID] = 30; ExecInter = setInterval(function(){ToggleTop(ToggleID);}, 25); } }
Merci d'avance
Partager