Bonjour à tous
Je suis en train de me mettre au javascript et j'ai un petit souci sur le déplacement et la remise en place d'une div.
Je m'explique:
J'ai créer une div #menu avec 2 liens. Le premier "Navigation" et le second "Fermer". Se menu a une hauteur de 215px et est positionner à un top: -195px de tel manière que l'on voie que "Navigation".
Ce que j'essaye de faire c'est lors d'un clic sur navigation, il se place en top:0; avec un mouvement fluide. Une fois positionner à 0, le lien "Navigation" passe en display: none; et que le lien "Fermer" passe en visible. Et même chose si je re-clique sur "Fermer". le menu se repositionne à top:-195px et repasse en display: none; pour que "Navigation" repasse en visible.
Pour info faut que se code fonctionne sous IE 6. Si il ne fonctionne pas sous Firefox, Chrome, Opéra etc... se n'est pas grave car se code est intégré dans un logiciel et non sur un site web.
Mon html:
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 <!doctype html> <html> <head> <link rel="stylesheet" type="text/css" media="all" href="Prog/test.css" /> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <meta http-equiv="Content-Type" content="text/css; charset=UTF-8" /> <meta http-equiv="Content-Script-Type" content="text/javascript" /> <meta http-equiv="imagetoolbar" content="no"> <script src="Prog/Menu.js"></script> </head> <body> <div id="global"> <div id="menuFixe"> <div id="menu"> <a href="#menu" onClick='MenuDeplier' class="ouvrir">Navigation</a> <a href="#menu" onClick="MenuReplier" class="fermer">Fermer</a></div></div> <div id="header">Test de titre</div> <div id="contenu"> </div> <div id="footer"> </div> </div> </body> </html>
Mon CSS:
Code css : 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 @charset "utf-8"; /* CSS Document */ html,body{ margin:0; padding:0; height:100%; width:auto; background:#E8E8E8; color:#222222; } #global { min-height:100%; position:relative; } #menuFixe { position:fixed; top0; left:0;} #menu { position:relative; top: -195px; left:0; width:89px; height:215px; text-align:center; border: 1px solid #000000; border-radius: 0 0 20px 0; box-shadow: #666 2px 2px 0px; -pie-background: linear-gradient(#B9B9B9, #2E2E2E); behavior: url(Prog/PIE.htc); margin-top:-3px; margin-left:-3px; background-attachment:fixed; padding-top:5px; } #menu a.ouvrir { left: 0; top: 0; text-align:center; color:#FFFFFF; font-weight:bold; text-decoration: none; } #menu a:hover.ouvrir {color:#FF0000;} #menu a:visited.ouvrir {color:#FFFFFF;} #menu a.fermer { display: none; left: 0; top: 0; text-align:center; color:#FFFFFF; font-weight:bold; text-decoration: none; } #menu a:hover.fermer {color:#FF0000;} #menu a:visited.fermer {color:#FFFFFF;} #header { position:absolute; padding-left:40px; padding-right:40px; color:#000000; font-weight:bold; font-size:40px; width:92%; text-align:center; } #contenu { padding-left:25px; padding-right:25px; } #footer { }
Mon JS :
Dès que je test, je n'ai aucun effet. Rien ne bouge.
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 var timer=0; obj=document.getElementById('menu'); topDepart=obj.offsetTop; function FMenuDeplier(){ if(obj.offsetTop<=0) {obj.style.top=obj.offsetTop=0; MenuDeplier();} } function MenuDeplier(){ vitesseDeplacement=1; if(timer==0) {deplacement=setTimeout("fMenuDeplier()",vitesseDeplacement);} else {clearTimeout(rangement); deplacement=setTimeout("fMenuDeplier()",vitesseDeplacement); timer=0; } } function FMenuReplier(){ if(obj.offsetTop>=0) {obj.style.top=obj.offsetTop=-195; MenuReplier();} } function MenuReplier() { vitesseDeplacement=1; if(timer==0) { deplacement=setTimeout("fMenuReplier()",vitesseDeplacement);} else {clearTimeout(rangement); deplacement=setTimeout("fMenuReplier()",vitesseDeplacement); timer=0; } }
Amicalement
Partager