Menu deroulant

stopworries Messages postés 10 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 5 juillet 2005 - 29 juin 2005 à 10:08
stopworries Messages postés 10 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 5 juillet 2005 - 1 juil. 2005 à 09:46
salut tout le monde!
voila, f un petit souci, je possede deux menus deroulants en js et css sur ma page html (un horizontal, et un vertical) et je voudrais faire un redimensionnement automatique lorsqu'on reduit la fenetre pce que mes menus gardent la mm taille.
Comment m'y prendre?
Merci bcp

stopworries

4 réponses

the_smurf Messages postés 283 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 juin 2006
29 juin 2005 à 12:01
-1-



-2-

function redimensionnerMenu(){
//récupération de la dimension de l'écran
myScreenX = document.body.clientWidth;
myScreenY = document.body.clientHeight;

//modification de la taille de tes menus...à ton tour de jouer
//tu peux surement y accéder avec qqchose du style
document.getElementById("idMenu").style.width = ...

}


The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer
0
stopworries Messages postés 10 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 5 juillet 2005
30 juin 2005 à 09:47
Dsl ms je suis une vraie debutante, j'ai pas entierement compris t explications, surtout que mes menus st partiellement en css.
Une fois ke g cree un script avec la fonction redimensionnerMenu, comment dois je modifier la taile de mes menus?
voici mon code:

<script type= "text/javascript">

<!--
window
.onload
=montre
;

function montre
(id
) {

var d
= document
.getElementById
(id
);

for
(var i
=
1; i
<= 10; i
++) {

if
(document
.getElementById
( 'smenu'
+i
)) {document
.getElementById
('smenu'
+i
).style
.display
='none'
;}
}

if
(d
) {d
.style
.display
= 'block'
;}
}

function cache
(id
) {

if
(document
.getElementById
) {
document
.getElementById
(id
).style
.display
="none"
;
}
else
if
(document
.all
) {
document
.all
[id
].style
.display
= "none"
;
}
else
if
(document
.layers
) {
document
.layers
[id
].display
="none"
;
}
}

//-->
</script><style type"text/css" media"screen">

body {

margin: 0;

padding: 0;

left: 0;

background: white;

font: verdana, times, sans-serif;

}

dl,
dt,
dd,
ul,
li {

margin: 0;

padding: 0;

list-style-type: none;
}

#menu {

position:absolute;
/* placement du menu, à modifier selon vos besoins */

top: 240px;

left: 40px;

color:#808080;

border-bottom: 1px solid gray;

text-align: left;

}

#menu {

width: 10em;
}

#menu
dt {


cursor: pointer;

margin:0;

color:#808080;

line-height: 20px;

text-align: center;

font-weight: bold;

/*border: 1px solid white;*/

background: #fff;

border-top: 1px solid gray;

text-align: left;

font-size: 84%;
}

#menu
dd {


display: block;

font-size: 82%;

}

#menu
li {


text-align: left;

background: #fff;

border-top: 1px solid gray;

}

#menu
li
a,

#menu
dt
a {


color: #636363;

text-decoration: none;

border: 0 none;

height: 100%;
}

#menu
li
a:hover,

#menu
dt
a:hover {


background: #eee;
}
</style>

Merci de ton aide, j'en ai reellement besoin.

stopworries
0
the_smurf Messages postés 283 Date d'inscription vendredi 6 août 2004 Statut Membre Dernière intervention 22 juin 2006
30 juin 2005 à 15:32
Je pensais que c'était clair:
-1- onresize dans le body permet d'appeler une fonction à chaque redimensionnement de la fenêtre. Dans notre cas on appelle la fonction que l'on va créer redimensionnerMenu()
-2- La fonction redimensionnerMenu() va d'abord déterminer la taille de la fenêtre:
myScreenX = document.body.clientWidth;
myScreenY = document.body.clientHeight
Puis d'après cette taille on va pouvoir modifier dynamiquement la taille des menus.
-3- Les attributs de style de tes menus, qu'ils soient définis dans des css ou non sont accèssible en javascript de la même manière que tu accède à l'attribut "display" dans tes fonctions montre() et cache()...
Tu peux ainsi redimensionner tes menus de la façon suivante:
document.getElementById("idMenu").style.width = "10px";

J'ai essayé d'être un peu plus verbeux cette fois-ci.
Si tu as besoin d'un plus grand coup de pouce, il me faudra le code html des menus également pour pouvoir faire des tests.

Bon courage


The SMURF
[mailto:the_little_smurf@yahoo.fr the_little_smurf@yahoo.fr]
Enjoy the life, don't waste your time in front of your computer
0
stopworries Messages postés 10 Date d'inscription lundi 25 octobre 2004 Statut Membre Dernière intervention 5 juillet 2005
1 juil. 2005 à 09:46
bon, jcrois vraiment pas etre douee, ms g bien suivi t instructions, et lorsque jtente de reduire ma fenetre, j'ai un message d'erreur sur ma page d'internet explorer...
Cette fonction redimenssionnerMenu, est ce que je dois bien la placer avec mes autres fonctions montre et cache ou est ce que je dois creer un nouveau script js pour la placer dedans, bref, j'y arrive pas du tout et il me reste plus beaucoup de tps pour finir mon site
Je me suis permise de t'envoyer tout le code html des menus sur ta boite yahoo car mon site est prive...
Un grand merci encore pour ton aide.

stopworries
0
Rejoignez-nous