L'éditeur JavaScript
Visiteur non-identifié | Identifiez-vous | Devenir membre
Code perdu ? | Combien de visiteurs sur votre site ?
Rechercher :
Page d'accueil
     Home Page

JavaScript
     Tous les scripts
     Proposer un script
     Recherche de script
     AJAX
     Cours de JavaScript
     Liste de discussion
     Forums

Services :
     CountUs
     myCircle
     ClickInText
     XooIt

Trucs et astuces :
     HTML / CSS
     PHP / MySQL
     Réferencement
     Graph / Présentation
     Toutes les astuces
     Ajouter un article

MailingList :
127937 abonnés

Annuaire webmaster :      Hebergement web
     Referencement
     Sites webmasters
     XHTML - CSS2
     PHP
     Affiliation - Pub
     FAI

     Annuaire webmaster

Ressources pour webmasters :
     Kit graphique
     Foire aux questions
     Les membres
     Devenir annonceur
     Faire un lien
     Contact

Partenaire :
     Compteur live
     Créer un forum
     Le PHP facile
     Comscripts
     Liens sponsorisés
     Blog
     Page Rank
     Gifs animés, f...
     Poésie et cita...
     Web creation ...
     Easy-script.com
     Azote.org - no...
     Electroniq...
     Créer son site...
     Les kits graph...
     K i s s design
     Outils de créa...
     Les autres
     Votre site ici ?


Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]


[ Forums >> JavaScript >> Problèmes avec un script de l'éditeur JavaScript ? >> fermeture des sous- menu dynamique onMouseOut ]

> fermeture des sous- menu dynamique onMouseOut
[ Posté par rvgaudin ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 19-11-2002 à 18:03 | 3 messages ]

Je n'arrive pas a modifier mon script de telle sorte que les sous menus qui s'affichent au passage de la souris se ferment, sans pour autant qu'il soit necessaire de cliquer hors des menus.

quelqu'un a la solution ?



[ Posté par julien22 ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 19-11-2002 à 20:32 | 4087 messages ]

Hmmm... je ne suis pas un pro du JS, mais je doute que cela soit possible...
Je pense qu'on doit être obligé de cliquer à côté pour effacer le sous-menu.


[ Posté par rvgaudin ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 20-11-2002 à 12:39 | 3 messages ]

il existe des solutions mais qui impliquent un code HTML sur chaque page utilisant ce menu (il y en aura 15 a 20 sur mon site). Or ce que je cherche c'est précisemment garder ce script en fichier externe, de maniere a n'avoir besoin de modifier que ce script si j'ai a modifier ce menu. sinon bonjour l'usine a gaz.





[ Posté par GhislainLavoie ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 21-11-2002 à 03:07 | 3179 messages ]

Salut,

T'est pas oubligé d'ajouter le html a chacune des pages.

Tu peux integrer le code html dans le script avec des document.write("ton code html")

Voilà

A+, Ghislain

________________
La clarté est synonyme de bon service...

Soyez explicites avec vos demandes!!!


[ Posté par GhislainLavoie ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 21-11-2002 à 03:33 | 3179 messages ]

Salut,

Pendant que j'y suis... voici un exemple de comment faire ça. Testé et concluant avec EI6, NS4 et NS6.

Premièrement il faudrait enlever ou mettre en commentaire ces deux ligne dans les pages ou il y a le script:

//if(document.getElementById)
//document.write('<DIV class=popper id=topdeck></DIV>');

Ensuite voici le script :

Code:




posYmenu = 112;
bgcolor='#006699';
bgcolor2='#6699CC';
needcenter =false;
if(!needcenter)
posXmenu = 0;
else
{ if (document.all)
posXmenu = (document.body.clientWidth/2)-(400/2);
else
posXmenu = (window.innerWidth/2)-(400/2);
}
document.write('<style type="text/css">');
document.write('.popper { POSITION: absolute; VISIBILITY: hidden; z-index:3; }')
document.write('#topgauche { position:absolute; top:'+posYmenu+'px; left:'+posXmenu+'px; z-index:10; }')
document.write('A:hover.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('A.ejsmenu {color:#FFFFFF; text-decoration:none;}')
document.write('</style>')
if (document.layers)
document.write('<layer class=popper id=topdeck OnMouseOver="focus_over();" OnMouseOut="focus_out();"></layer>');
else
document.write('<DIV class=popper id=topdeck OnMouseOver="focus_over();" OnMouseOut="focus_out();"></DIV>');


/*
LIENS
*/
zlien = new Array;

zlien[0] = new Array;
zlien[1] = new Array;
zlien[2] = new Array;
zlien[2] = new Array;
zlien[3] = new Array;
zlien[4] = new Array;

zlien[0][0] = '<a HREF="../oeil/O.htm" CLASS=ejsmenu TARGET="_top">Oeil et image artificielle</a>';
zlien[0][1] = '<a HREF="../transfou/T.htm" CLASS=ejsmenu TARGET="_top">Transformation de Fourier</a>';
zlien[0][2] = '<a HREF="../nume/N.htm" CLASS=ejsmenu TARGET="_top">Numérisation et quantification</a>';
zlien[0][3] = '<a HREF="../capteurs/C.htm" CLASS=ejsmenu TARGET="_top">Les capteurs de vision</a>';
zlien[0][4] = '<a HREF="../pretrai/P.htm" CLASS=ejsmenu TARGET="_top">Prétraitement des images</a>';

zlien[1][0] = '<a HREF="E1.htm" CLASS=ejsmenu TARGET="_top">Extraction de points de contour</a>';
zlien[1][1] = '<a HREF="../suivi/S1.htm" CLASS=ejsmenu TARGET="_top">Suivi de points de contour</a>';
zlien[1][2] = '<a HREF="../capteurs/C.htm" CLASS=ejsmenu TARGET="_top">Région</a>';
zlien[1][3] = '<a HREF="../capteurs/C.htm" CLASS=ejsmenu TARGET="_top">Représentation de Fourier</a>';
zlien[1][4] = '<a HREF="../capteurs/C.htm" CLASS=ejsmenu TARGET="_top">Bibliographies</a>';

zlien[2][0] = '<a HREF="../../tds/enonce.htm" CLASS=ejsmenu TARGET="_top">Enoncés </a>';
zlien[2][1] = '<a HREF="../../tds/doc.htm" CLASS=ejsmenu TARGET="_top">Documentation Cantata</a>';
zlien[2][2] = '<a HREF="../../tds/questions.htm" CLASS=ejsmenu TARGET="_top">Questions</a>';
zlien[3][0] = '<a HREF="../../bio/bio.htm" CLASS=ejsmenu TARGET="_top">Historique et Liens</a>';
zlien[4][0] = '<a HREF="../../info/info.htm" CLASS=ejsmenu TARGET="_top">Informations</a>';



var nava = (document.layers);

var dom = (document.getElementById);
var iex = (document.all);
if (nava) { skn = document.topdeck }
else if (dom) { skn = document.getElementById("topdeck").style }
else if (iex) { skn = topdeck.style }
skn.top = posYmenu+24;

function pop(msg,pos)
{
skn.visibility = "hidden";
a=true
skn.left = posXmenu+pos;
var content ="<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000 WIDTH=150><TR><TD><TABLE WIDTH=100% BORDER=0 CELLPADDING=0 CELLSPACING=1>";
pass = 0;
while (pass < msg.length)
{
content += "<TR><TD BGCOLOR="+bgcolor+" onMouseOver=\"this.style.background='"+bgcolor2+"'\" onMouseOut=\"this.style.background='"+bgcolor+"'\" HEIGHT=20><FONT SIZE=2 FACE=\"Arial\"><B>&nbsp;&nbsp;"+msg[pass]+"</B></FONT></TD></TR>";
pass++;
}
content += "</TABLE></TD></TR></TABLE>";
if (nava)
{
skn.document.write(content);
skn.document.close();
skn.visibility = "visible";
}
else if (dom)
{
document.getElementById("topdeck").innerHTML = content;
skn.visibility = "visible";
}
else if (iex)
{
document.all("topdeck").innerHTML = content;
skn.visibility = "visible";
}
}
function kill()
{
skn.visibility = "hidden";
}
document.onclick = kill;
if (document.layers)
document.write('<layer top='+posYmenu +' left='+posXmenu+' OnMouseOver="focus_over();" OnMouseOut="focus_out();">')
else
document.write('<DIV ID=topgauche OnMouseOver="focus_over();" OnMouseOut="focus_out();">')
document.write('<TABLE BORDER=0 CELLPADDING=0 CELLSPACING=0 BGCOLOR=#000000><TR><TD><TABLE CELLPADING=0 CELLSPACING=1 BORDER=0 WIDTH=100% HEIGHT=25><TR>')
document.write('<TD ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\\''+bgcolor2+'\\';pop(zlien[0],this.offsetLeft)" onMouseOut="this.style.background=\\''+bgcolor+'\\'"><a onClick="return(false)" onMouseOver="if (nava) pop(zlien[0],this.x-2)" href=# CLASS=ejsmenu><FONT SIZE=2 FACE="Arial"><B>&nbsp;&nbsp;&nbsp;Cours (1/2)&nbsp;&nbsp;&nbsp;</B></FONT></a></TD>')
document.write('<TD ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\\''+bgcolor2+'\\';pop(zlien[1],this.offsetLeft)" onMouseOut="this.style.background=\\''+bgcolor+'\\'"><a onClick="return(false)" onMouseOver="if (nava) pop(zlien[1],this.x-2)" href=# CLASS=ejsmenu><FONT SIZE=2 FACE="Arial"><B>&nbsp;&nbsp;&nbsp;Cours (2/2)&nbsp;&nbsp;&nbsp;</B></FONT></a></TD>')
document.write('<TD ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\\''+bgcolor2+'\\';pop(zlien[2],this.offsetLeft)" onMouseOut="this.style.background=\\''+bgcolor+'\\'"><a onClick="return(false)" onMouseOver="if (nava) pop(zlien[2],this.x-2)" href=# CLASS=ejsmenu><FONT SIZE=2 FACE="Arial"><B>&nbsp;&nbsp;&nbsp;Travaux Dirigés&nbsp;&nbsp;&nbsp;</B></FONT></a></TD>')
document.write('<TD ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\\''+bgcolor2+'\\';pop(zlien[3],this.offsetLeft)" onMouseOut="this.style.background=\\''+bgcolor+'\\'"><a onClick="return(false)" onMouseOver="if (nava) pop(zlien[3],this.x-2)" href=# CLASS=ejsmenu><FONT SIZE=2 FACE="Arial"><B>&nbsp;&nbsp;&nbsp;Historique et Liens&nbsp;&nbsp;&nbsp;</B></FONT></a></TD>')
document.write('<TD ALIGN=center BGCOLOR='+bgcolor+' onMouseOver="this.style.background=\\''+bgcolor2+'\\';pop(zlien[4],this.offsetLeft)" onMouseOut="this.style.background=\\''+bgcolor+'\\'"><a onClick="return(false)" onMouseOver="if (nava) pop(zlien[4],this.x-2)" href=# CLASS=ejsmenu><FONT SIZE=2 FACE="Arial"><B>&nbsp;&nbsp;&nbsp;Informations&nbsp;&nbsp;&nbsp;</B></FONT></a></TD>')
document.write('</TR></TABLE></TD></TR></TABLE>')
if (document.layers)
document.write('</layer>')
else
document.write("</DIV>");
var focus_menu,deuxieme,setattente,delai_disparition_menu=0000;
function attente()
{
if (deuxieme)
{
if (!focus_menu)
{

kill()
}
clearTimeout(setattente);
return;
}
setattente= setTimeout("attente()",delai_disparition_menu);
deuxieme = true;
}
function focus_over()
{
focus_menu = true;
clearTimeout(setattente);
}
function focus_out()
{
focus_menu = false;
deuxieme = false;
attente();
}



A+, Ghislain

<font size=1 FACE=arial>[ Ce Message a été édité par: GhislainLavoie le 2002-11-21 03:36 ]</font>

[ Ce Message a été édité par: GhislainLavoie le 2002-11-21 03:38 ]

________________
La clarté est synonyme de bon service...

Soyez explicites avec vos demandes!!!


[ Posté par rvgaudin ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 25-11-2002 à 21:06 | 3 messages ]

Merci Dude (Ghislain)

ca a marché impec et avec tres peu d'amenagements.



Hervé

[ Posté par zonephil ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 18-01-2004 à 21:32 | 159 messages ]

Mon problème est règlé, j'avais oublié une ligne de code lol

________________
PhilDunn

[ Posté par sefender ] [ Détails ] [ Contact ] [ Citer ]
[ Posté le 09-03-2004 à 21:50 | 15 messages ]

Bonsoir,

J'ai essayé de le faire les modifs avec menu dynamqiue 2 (vertical) et sa marche pas.
Le pb vien de moi ou les modifs de se script ne s'applique pas au mien ?

Merci
@+
Sef





Services email :

Vous devez vous identifier pour profiter des services par email du forum.
Le forum ] [ Préférences ] [ Nouveau sujet ] [ Répondre ] [ Recherche ] [ Vos sujets ] [ Tous lus ] [ Flux RSS ]






compteur gratuit
actuellement en ligne

    PUBLICITE



     ANNUAIRE WEBMAST.
1and1
Tout simplement le leader mondial de l'hebergement ! A partir de 1 € par mois, avec des services vraiment sympas.
http://www.1and1.fr
Cat : Hebergement web
Voir l'annuaire webmaster


     LES SCRIPTS :
78 à éditer
68 à copier/coller
247 des membres
2580 sur le web
>> Tous les scripts

     LES MEMBRES :
66441 membres
4698 comptes CountUs
1861 comptes myCircle

     LES FORUMS :
14 forums
40411 topics
191772 messages
>> Les forums

    SONDAGE

Vous avez un blog ou site classique ?
Un blog
Un site classique
Les deux !
La mini-astuce "Navigateur" du jour par leBoss
Sous Firefox, vous pouvez définir plusieurs pages de démarrages dans les options en utilisant le séparateur |. Elles s'ouvriront toutes dans un onglet différent.
Proposer votre mini-astuce | Archives des mini-astuces
© 1999-2012 EJS - Tous droits réservés | CNIL N° 844440 | 17/05/2012 01:20:42 | Design by | Gen. en 0.642 sec.