Bonjour,
je débute avec Jquery. J'ai acheté un mag qui proposait des exercices «webdesign masterclass vol.6» pour être précis. Puis j'ai décidé de me mettre à la réalisation d'un menu déroulant pour mon site. Il s'agit plus exactement d'une barre utilisateur qui en mode initial est ouverte et affiche des liens utiles (profil, déconnexion etc…) et l'avatar. Une petite flèche suivie d'un «-» permet de réduire la box et de faire 25px ou s'affiche seulement son pseudo et une autre flèche pour l'ouvrir. J'utilise un slideDown et slideUp pour réaliser un effet de glissement à l'ouverture et à la fermeture.
Je finis mon prototype sur Chrome, puis je teste sur différents nav.
Ça fonctionne partout mais Firefox me fait un slideDown dégueulasse à l'ouverture. Je vais essayé de décrire ça, en fait, la box descend puis au lieu de s'arrêter elle continue sur environs 150px puis elle revient de manière brutale pour se mettre dans la bonne position.
J'ai vérifié mon code css pour voir si je n'avais pas défini de hauteur qui fait que, mais non.
J'aimerai comprendre pourquoi la box réagit comme cela uniquement sur firefox et comment régler le problème. A quoi est ce du.. Si c'est récurrent ou si il faut effectuer une manip...
Voici le code de mon menu :
Note :*aucunes erreurs sur firebug
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 <script type="text/javascript"> var menuTopEtat="close"; $("#hideButton") .click(function (){ if (menuTopEtat=="close"){ menuTopEtat="open"; $("#hideButton").html("<span class='foundicon-down-arrow'>+</span>"); $(".left, .pseudo, .toolsLink").fadeOut("slow", function(){ pseudo = $(".pseudo").html(); $("#userbox").slideUp("slow", function(){ $(".smallPseudo").html(pseudo); $(".smallPseudo").fadeIn('slow'); }) }); return; } else { menuTopEtat="close"; $("#hideButton").html("<span class='foundicon-up-arrow'>-</span>"); $(".smallPseudo").fadeOut('fast', function(){ $('.smallPseudo').html(''); $(".left, .pseudo, .toolsLink").fadeIn("fast", function(){ $("#userbox").slideDown("slow", function(){ }) }) }); return; } }); </script>
Je me répète, je suis débutant en Jquery. Je suis prêt à apprendre et appliquer tout conseil que vous me donnerez.
Merci à vous.
Partager