IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Dimensions d'un Menu déroulant


Sujet :

JavaScript

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut Dimensions d'un Menu déroulant
    Bonjour à tous,

    Je suis nouveau sur Developpez.com et pour le moment pas très doué en programmation ... mais je progresse.
    Je réalise un site web pour une assoc et il se trouve que j'ai qqs problèmes avec le menu déroulant qui s'y trouve.
    En effet, il fonctionne parfaittement bien. Les onglets s'ouvrent et se referment parfaitement mais ce que j'aimerais c'est que lorsqu'on déroule un onglet, les autres se referment automatiquement car si plusieurs son déroulés en même temps, le cadre du site est trop petit, une barre pour la navigation apparait pour ne plus disparaitre ... et c'est vraiment pas beau

    Quelqu'un pourrait-il me dire quoi modifier dans ces scripts pour que lorsque je déroule un onglet, les autres se referment automatiquement. Ce serait très sympa

    - menu_dhtml.js

    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
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    var da	=document.all
    var dom	=document.getElementById
    var dl	=document.layers
    //objets
    function definirObj(nom,ceci,classe,gauche,haut){
    	document.write("<div id='"+nom+"' "+((classe!=null)?("class="+classe):(""))+" >"+ceci+"</div>")
    	if(gauche!=null&&haut!=null){positionnerObj(nom,gauche,haut)}
    }
    function redefinirObj(nom,ceci){
    	if(da)	{document.all(nom).innerHTML=ceci}
    	else if(dom){document.getElementById(nom).innerHTML=ceci}
    	else if(dl)	{doc=document.layers[nom];doc.document.write(ceci);doc.document.close()}
    }
    function positionnerObj(nom,gauche,haut){
    	if(da)	{document.all(nom).style.left=gauche
    			 document.all(nom).style.top=haut}
    	else if(dom){document.getElementById(nom).style.left=gauche+"px"
    			 document.getElementById(nom).style.top=haut+"px"}
    	else if(dl)	{document.layers[nom].left=gauche
    			 document.layers[nom].top=haut}
    }
    function cacherObj(nom){
    	if(da)	{document.all(nom).style.visibility="hidden"}
    	else if(dom){document.getElementById(nom).style.visibility="hidden"}
    	else if(dl)	{document.layers[nom].visibility="hide"}
    }
    function voirObj(nom){
    	if(da)	{document.all(nom).style.visibility="visible"}
    	else if(dom){document.getElementById(nom).style.visibility="visible"}
    	else if(dl)	{document.layers[nom].visibility="show"}
    }
    function xObj(nom){
    	if(da)	{return(document.all(nom).style.pixelLeft)}
    	else if(dom){return(parseInt(document.getElementById(nom).style.left))}
    	else if(dl)	{return(document.layers[nom].left)}
    }
    function yObj(nom){
    	if(da)	{return(document.all(nom).style.pixelTop)}
    	else if(dom){return(parseInt(document.getElementById(nom).style.top))}
    	else if(dl)	{return(document.layers[nom].top)}
    }
    //images
    function definirImg(nom,ceci,largeur,hauteur,gauche,haut,classe){
    	document.write("<div id='"+nom+"' "+((classe!=null)?("class="+classe):(""))+" ><img id='img"+nom+"' "+((largeur!=null)?("width="+largeur):(""))+" "+((hauteur!=null)?("height="+hauteur):(""))+" src='"+ceci+"' /></div>")
    	if(gauche!=null&&haut!=null){positionnerImg(nom,gauche,haut)}
    }
    function redefinirImg(nom,ceci){
    	if (document.all){document.all("img"+nom).src=ceci}
    	else if(document.getElementById){document.getElementById("img"+nom).src=ceci}
    	else if (document.layers){document.layers[nom].src=ceci}
    }
    positionnerImg=positionnerObj
    function centrerImg(nom){
    	positionnerImg(nom,((largPage()-largImg(nom))/2),((hautPage()-hautImg(nom))/2))
    }
    function largImg(nom){
    	if(da)	{return(parseInt(document.all("img"+nom).width))}
    	else if(dom){return(parseInt(document.getElementById("img"+nom).width))}
    	else if(dl)	{return(document.layers[nom].clip.width)}
    }
    function hautImg(nom){
    	if(da)	{return(parseInt(document.all("img"+nom).height))}
    	else if(dom){return(parseInt(document.getElementById("img"+nom).height))}
    	else if(dl)	{return(document.layers[nom].clip.height)}
    }
    cacherImg=cacherObj
    voirImg=voirObj
    xImg=xObj
    yImg=yObj
    function entrevoirImg(nom,gauche,haut,droit,bas){
    	if(da)	{document.all(nom).style.clip="rect("+haut+"px "+droit+"px "+bas+"px "+gauche+"px)"}
    	else if(dom){document.getElementById(nom).style.clip="rect("+haut+"px "+droit+"px "+bas+"px "+gauche+"px)"}
    	else if(dl)	{document.layers[nom].clip.left=gauche
    			 document.layers[nom].clip.top=haut
    			 document.layers[nom].clip.right=droit
    			 document.layers[nom].clip.bottom=bas}
    }
    //souris
    function xSouris(e){
    	if(da)	{return(document.body.scrollLeft+event.clientX)}
    	else if(dom){return(window.pageXOffset+e.clientX)}
    	else if(dl)	{return(e.pageX)}
    }
    function ySouris(e){
    	if(da)	{return(document.body.scrollTop+event.clientY)}
    	else if(dom){return(window.pageYOffset+e.clientY)}
    	else if(dl)	{return(e.pageY)}
    }
    //page
    function largPage(){
    	if(da)	{return(document.body.clientWidth)}
    	else if(dom){return(frames.innerWidth)}
    	else if(dl)	{return(frames.innerWidth)}
    }
    function hautPage(){
    	if(da)	{return(document.body.clientHeight)}
    	else if(dom){return(frames.innerHeight)}
    	else if(dl)	{return(frames.innerHeight)}
    }
    function xScrollPage(){
    	if(da)	{return(document.body.scrollLeft)}
    	else if(dom){return(frames.pageXOffset)}
    	else if(dl)	{return(frames.pageXOffset)}
    }
    function yScrollPage() {
    	if(da)	{return(document.body.scrollTop)}
    	else if(dom){return(frames.pageYOffset)}
    	else if(dl)	{return(frames.pageYOffset)}
    }
    - deroulant.js

    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
    var txtnul =""
    var flagBul=false
    for (i=0; i<menu.length; i++){menu[i].dvlp=false}
    definirObj("mainmenu",codeMenu(),"md")
    function codeMenu() {	
    	msg ="<TABLE CELLSPACING=1>"
    	for (i=0; i<menu.length; i++){
    		msg+="<TR><TD class=menu>"
    		if(typeof(menu[i].menu)=="object"){
    			if (menu[i].dvlp) {
    				msg+="<A class=ma HREF='javascript:changer(menu["+i+"])' > [-] "+menu[i].nom+"</A><BR>"
    				msg+="<TABLE CELLSPACING=1><TR><TD class=menu>"
    				for (j=0; j<menu[i].menu.length; j++){msg+="<A class=ma HREF='"+menu[i].menu[j].menu+"' "+((menu[i].menu[j].cible!="")?"target='"+menu[i].menu[j].cible+"'":"")+" >"+menu[i].menu[j].nom+"</A><br>"}
    				msg+="</td></tr></table>"
    			}
    			else{
    				msg+="<A class=ma HREF='javascript:changer(menu["+i+"])' > "+menu[i].nom+" [+]</A><BR>"
    			}
    		}
    		else{msg+="<A class=ma HREF='"+menu[i].menu+"' "+((menu[i].cible!="")?"target='"+menu[i].cible+"'":"")+" > "+menu[i].nom+"</A><BR>"}
    	}
    	msg+="</TD></TR></TABLE>"
    	return(msg)
    }
    function changer(ceci){ceci.dvlp=!ceci.dvlp;redefinirObj("mainmenu",codeMenu())}

    Merci bien à celui ou ceux qui pourront m'aider.

  2. #2
    Membre averti Avatar de Huntress
    Femme Profil pro
    Inscrit en
    Août 2004
    Messages
    475
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Août 2004
    Messages : 475
    Points : 402
    Points
    402
    Par défaut
    Ils seront pas nombreux à vouloir t'aider si tu n'édites pas ton message pour encadrer ton code avec les balises code... déjà que ton code est long... et bleu

    Règle n°1 du forum francophone : Parler le français...
    Pas de question technique par MP, le forum est fait pour çà, merci.

  3. #3
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Merci à toi Huntress
    Et désolé pour la balise code. Promis, je ne le ferai plus
    J'avais justement mis du bleu pour distinguer maintenant, je saurai.
    Par contre pour la longueur, je ne peux rien faire car je ne sais ni où la modif. doit être faite, ni même dans lequel de ces fichiers.

  4. #4
    Membre émérite
    Inscrit en
    Septembre 2002
    Messages
    2 307
    Détails du profil
    Informations forums :
    Inscription : Septembre 2002
    Messages : 2 307
    Points : 2 814
    Points
    2 814
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    function changer(ceci){
    var flatCeci=!ceci.dvlp;
    for (i=0; i<menu.length; i++){menu[i].dvlp=false} 
    ceci.dvlp=flatCeci;
    redefinirObj("mainmenu",codeMenu());
    }
    ...

  5. #5
    Membre à l'essai
    Profil pro
    Inscrit en
    Février 2005
    Messages
    20
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 20
    Points : 18
    Points
    18
    Par défaut
    Un grand merci à toi Matthieu2000.
    Copier/Coller et ça marche nickel ... et mon site commence à ressembler à quelque chose.
    ++

    Polo

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Comment gerer la taille d'un menu déroulant ?
    Par Anemhedd dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 08/06/2005, 16h58
  2. recuperation valeur menu déroulant
    Par jerome1 dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 08/06/2005, 11h39
  3. [menu]faire un menu déroulant
    Par Nadine dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 24/03/2005, 08h33
  4. Menu déroulant valeur par défaut
    Par Gourouni dans le forum ASP
    Réponses: 11
    Dernier message: 06/12/2004, 16h31
  5. Menu déroulant suite au passage sur un TMenuItem
    Par James_ dans le forum C++Builder
    Réponses: 2
    Dernier message: 05/05/2004, 14h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo