MENU EN CASCADE

nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 - 26 juil. 2008 à 09:56
zecristof Messages postés 2 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 19 mai 2011 - 19 mai 2011 à 11:36
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/47404-menu-en-cascade

zecristof Messages postés 2 Date d'inscription vendredi 28 octobre 2005 Statut Membre Dernière intervention 19 mai 2011
19 mai 2011 à 11:36
Salut, j'arrive un peu tard, mais c'est exactement ce que je cherche... Reste plus qu'à installer :) Merci pour cette petite prog.
adelmonis Messages postés 8 Date d'inscription dimanche 11 avril 2010 Statut Membre Dernière intervention 29 avril 2010
29 avril 2010 à 22:41
Super, je suis débutante, et je peux dire que les codes proposés sont super pour apprendre. Celui je le trouve excellent. :-)

Adelmonis
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
30 juil. 2008 à 10:35
et pour la "atille auto" des div,
à priori : agrandir tant que
offsetWidth est != clientWidth
( overflow:auto dans le style du div )
@+
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
30 juil. 2008 à 08:38
@krma : Salut,

Le DOM, c'est : le Document Object Model...

On peut s'en servir pour ajouter des élément dynamiquement en javascript...

a++
cs_krma Messages postés 20 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 14 août 2008
29 juil. 2008 à 23:43
Bonne nouvelle, ça tient le choc dans IE 5 et +, Mozilla, Opera, Safari...
Très bon tout ça !
Donc, si j'ai bien compris, le seul problème restant à régler, est la taille auto des div ?
J'avoue que mes compétences sont dépassées depuis longtemps mais on doit pouvoir s'en tirer avec des %ages plutot que des valeurs absolues non ?
Tu parles de dom mais je ne sais meme pas ce que c'est loll!
En tout cas bravo pour ce script qui va sans doute me servir très bientôt !
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
29 juil. 2008 à 19:07
petite modif la sa drevrait etre nikel

<html><head>

<title>menu</title>

<style type="text/css">
.Style1 {
background-color: gray;
}
.element {
background-color: blue;
}
.element2 {
background-color: red;
}
.element3 {
background-color: black;
}
.element4 {
background-color: white;
}
</style>
<script TYPE="text/javascript">
var mnhv=1
var retour=''
function mnh(vl,pb,dg){
if(controle==1){
controle=0
bl=vl
pl=pb
gd=dg
}
var Table_haut=document.getElementById(bl)
var divgener=document.getElementById(gd)
if(mnhv==0){
var Table_retour=document.getElementById(retour)
Table_retour.style.top=Table_retour.offsetTop-10
document.getElementById(retour2).style.height=document.getElementById(retour2).offsetHeight-10+'px'
if(Table_retour.offsetTop<=20){
mnhv=1
if(retour==bl){
return false
}
}
}
if(mnhv==1){

Table_haut.style.top=Table_haut.offsetTop+10
divgener.style.height=divgener.offsetHeight+10+'px'
if(Table_haut.offsetTop>=pb){
mnhv=0
retour=bl
retour2=gd
return false
}
}
setTimeout("mnh(bl,pl,gd)",16)}
</SCRIPT>
</head>

</html>
cs_krma Messages postés 20 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 14 août 2008
29 juil. 2008 à 18:43
Je découvre... Ca semble mythique. Je teste dans tous les sens avant de sortir la palme d'or :p)
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
29 juil. 2008 à 18:35
jour
q1:
ca y est je vient de cree Le top over the top(lol) en gros avec ce script les div(s) se refermes automatiquement et en plus on peut mettre plusieurs menus sur la meme page. en tout cas apres avoir fait les modif j'ai le cerveau plein de if if if enfin voila ca marche.

q2:
il faut connaître à l'avance la hauteur des DIV

si tu met le contunu dans un tableau ou un div tu peut connaitre leurs hauteur par le dom a la palce de la valeur on pourait mettre a la place
( document.getElementById(l'element).offsetHeight))???
c'est a exploiter

<html><head>

<title>menu</title>

<style type="text/css">
.Style1 {
background-color: gray;
}
.element {
background-color: blue;
}
.element2 {
background-color: red;
}
.element3 {
background-color: black;
}
.element4 {
background-color: white;
}
</style>
<script TYPE="text/javascript">
var mnhv=1
var retour=''
function mnh(vl,pb,dg){
if(controle==1){
controle=0
bl=vl
pl=pb
gd=dg
}
var Table_haut=document.getElementById(bl)
var divgener=document.getElementById(gd)
if(mnhv==0){
var Table_retour=document.getElementById(retour)
Table_retour.style.top=Table_retour.offsetTop-10
document.getElementById(retour2).style.height=document.getElementById(retour2).offsetHeight-10+'px'
if(Table_retour.offsetTop<=20){
mnhv=1
}
}
if(mnhv==1){
if(retour==bl){
return false
}
Table_haut.style.top=Table_haut.offsetTop+10
divgener.style.height=divgener.offsetHeight+10+'px'
if(Table_haut.offsetTop>=pb){
mnhv=0
retour=bl
retour2=gd
return false
}
}
setTimeout("mnh(bl,pl,gd)",16)}
</SCRIPT>
</head>

</html>
cs_bultez Messages postés 13615 Date d'inscription jeudi 13 février 2003 Statut Membre Dernière intervention 15 octobre 2013 30
28 juil. 2008 à 16:28
ça peut intéresser pas mal de monde,
on saura vers où les diriger.

>>éviterait d'avoir à refermer manuellement celles deja ouvertes.
"il suffit", avant d'agrandir, de remettre les height
à leur valeurs initiales pour toutes les div.

>>Peut-on l'adapter au contenu ?
peut-être moins facile( ? )
augmenter le height, tant que
la scrollbar existe, peut-être ?
doit y avoir plus simple...

2 propositions d'amélioration
que va bien nous faire kazma !
rambc Messages postés 224 Date d'inscription mercredi 21 avril 2004 Statut Membre Dernière intervention 29 mars 2009
28 juil. 2008 à 14:11
Seule critique : il faut connaître à l'avance la hauteur des DIV. Peut-on l'adapter au contenu ?
cs_krma Messages postés 20 Date d'inscription samedi 20 septembre 2003 Statut Membre Dernière intervention 14 août 2008
28 juil. 2008 à 09:47
Bonjour, c'est vrai qu'elle est classe cette source et ultra pratique dans bien des cas. Le top over the top serait que les n autres div se referment toutes seules lorsque je change de div. Ca éviterait d'avoir à refermer manuellement celles deja ouvertes. Je ne sais pas si les modifs sont compliquées mais je vais tenter le coup.
ps : si qqu'un a une idée, je suis preneur :p)
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
27 juil. 2008 à 09:12
oui en esperant que sa lui conviendra

Si ça ne lui convient pas je ne sais pas ce qui lui conviendrai ! lol

Je te metterai une note plus tard quand je regarderai le code en profondeur !

a++
@karamel Messages postés 1855 Date d'inscription vendredi 9 mai 2008 Statut Modérateur Dernière intervention 18 avril 2024 153
26 juil. 2008 à 22:58
jour Nico

l'as tu montré au gas sur le forum ?

oui en esperant que sa lui conviendra
nicomilville Messages postés 3472 Date d'inscription lundi 16 juillet 2007 Statut Membre Dernière intervention 28 février 2014 36
26 juil. 2008 à 09:56
Salut,

Moi je dis que c'est un bon travail !

En plus plein de gens se demandais comment reproduire le menu et les boites de code sources (le menu est sur graphfr mais les boites je ne les ai pas trouvés) donc tu leur rend un grand service...

a++

PS : merci pour cette source (l'as tu montré au gas sur le forum ?)
Rejoignez-nous