MENU VERTICAL D'UNE PAGE DHTML, GENERE DYNAMIQUEMENT, UTILISANT LES CSS, COMPATI

cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006 - 10 nov. 2006 à 10:10
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 - 3 janv. 2008 à 14:45
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/40253-menu-vertical-d-une-page-dhtml-genere-dynamiquement-utilisant-les-css-compatible-ie-et-netscape

LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
3 janv. 2008 à 14:45
Salut Elodie et BONNE ANNEE A TOUS !!

En effet, "c'y poussible"... Pour cela il faut que tu remplaces
itemMainMenu9.SetURL( "http://www..." )
par
itemMainMenu9.SetFunction( "OpenInNewPage( 'http://www...' )" )

et bien sûr, que tu ajoutes cette fonction dans la balise <script> de ta page :
function OpenInNewPage( url )
{
open( url, 'new' )
}

Voilà, n'hésites pas si tu as d'autres questions
Et félicitations pour ton site ;)
cs_elodie07 Messages postés 2 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 3 janvier 2008
3 janv. 2008 à 10:34
Salut tout le monde,
Ludinski, merci mille fois pour ce menu qui m'a permis de mettre mon site en ligne plus rapidement que prévu à l'adresse suivante : http://perso.orange.fr/gs.anne-cartier/
J'ai de très bon echos de mes visiteurs !!
en revanche, (le post précédent est resté sans réponse :-{) les gens me demande comme je m'y attendais s'il était possible que les liens externes s'ouvrent dans une nouvelle fenêtre ou un nouvel onglet...
voici le code correspondant à la ligne qui nous interesse :

var itemMainMenu9 = mainMenu.Add( "Images/picto-zelius.png", " Programmes Officiels", "ItemSimple", "ItemSimpleOnFocus" )
itemMainMenu9.SetURL( "http://www.zelius.com/p_detail_contenu.asp?gnrId=1452" )

c'est précisément cette URL que je voudrais ouvrir dans une fenetre ou onglet à part.
Est-ce possible ? si oui, que dois(je rajouter comme code et où le placer ?

d'avance merci encore pour tout et meilleurs voeux à tous pour cette année 2008 !!
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
2 janv. 2008 à 23:42
Salut Lucas33,

Il est tout à fait envisageable de faire en sorte que le menu se cache comme dans le lien ci-dessus...

Mais bien sûr il faut l'emplémenter entièrement. Si tu as assez de courage pour t'y atteler... Pour ma part je ne pense pas m'y mettre; par manque de temps.
cs_lucas33 Messages postés 1 Date d'inscription lundi 15 octobre 2007 Statut Membre Dernière intervention 29 décembre 2007
29 déc. 2007 à 20:16
Ce menu est excellent. Il marche parfaitement bien !!
Pour les personnes dont le menu ne s'affiche pas, c'est peut-être à cause du nom de la page "Création_Menus.js" qui comporte un accent, essayez sans accent ("Creation_Menus.js").
Sinon j'ai une question, comment peut-on faire pour que le menu apparaisse que lorsque l'on passe sur une morceau du menu. Voir l'exemple de ce site : http://www.toulouse-renaissance.net/c_outils/c_menu_glide.htm. Merci de répondre !!!
A bientôt !!
Lucas
cs_elodie07 Messages postés 2 Date d'inscription mercredi 24 octobre 2007 Statut Membre Dernière intervention 3 janvier 2008
13 nov. 2007 à 17:47
bonjour,
merci pour ce menu ; j'ai un peu patoger pour le parametrer, mais j'ai finalement réussi à avoir quelque chose de pas trop mal (http://perso.orange.fr/gs-anne.cartier/TEST)

ma question est la suivante : je n'utilise pas de frame, mais je souhaiterai que les liens vers d'autres site (voir en bas du menu (ZELIUS)) ou d'autres site puissent s'ouvrir dans une nouvelle page ou onglet... est-ce possible, si oui comment ?

le site est en phase de test, mais ça avance pas mal...

A bientôt de vous lire
Elodie
Utilisateur anonyme
14 oct. 2007 à 10:26
Salut LUDINSKI,

Il avait l'air cool ce menu mais apparment, il est très compliqué à le faire fonctionner correctement...

Sur son ordinateur, pas de problème, mais télécharger le tel quel, sans rien modifier du code, il ne fonctionne plus. Même en utilisant le code de TITO17 (voir plus haut) cela ne fonctionne toujours pas.

C'est bizard tout ça...
mikeyftp Messages postés 1 Date d'inscription vendredi 7 septembre 2007 Statut Membre Dernière intervention 14 septembre 2007
14 sept. 2007 à 02:21
Bonsoir, je voudrais utiliser ton menu, je le trouve super mais je n'arrive pas à faire ouvrir un des liens dans un cadre particulier de la page. Je débute, si tu pouvais m'aider...
Merci d'avance.
abdou_al2007 Messages postés 1 Date d'inscription samedi 3 mars 2007 Statut Membre Dernière intervention 17 août 2007
17 août 2007 à 09:34
Bonjour,

J'ai essayer le menu et il est trés bien j'ai un soucis, je n'utilise pas les frame et je veux le positionner dans une cellule d'un tableau, comment puis je faire?

merci d'avance
bundy318 Messages postés 19 Date d'inscription samedi 8 mai 2004 Statut Membre Dernière intervention 8 mai 2007
8 mai 2007 à 17:36
Salut,

Ton menu a l'air vraiment bien, dommage que tu n'a pas developpé une interface pour le rendre dynamique (créer le menu à partir d'un fichier xml)

a+
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
27 avril 2007 à 01:19
Merci beaucoup LUDINSKI
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
14 avril 2007 à 15:29
Salut et désolé pour ce long silence...

Ouibou92, je pense que GetElement( "nomDeTaFame" ).src = "..."
devrait faire l'affaire !

JNFF, pour afficher la boîte de dialogue permettant d'envoyer un mail, après avoir créé ton item, tu ajoutes
tonItem.SetURL( "mailto:adresse1@domain.fr;adresse2@domain.fr" )
ouibou92 Messages postés 2 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 14 avril 2007
14 avril 2007 à 13:27
Bonjour!

Ce menu est super!

Je n'ai qu'un problème qui m'empêche de l'utiliser: lien vers une cible (j'utilise les frames).
En HTML, c'est facile c'est traget=""....
Mais en JS???? J'ai cherché je trouve pas...
Help please!

Merci pour ce menu! 10/10
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
20 mars 2007 à 13:15
Hello clemtomo, jutilise actuellement sur mon site perso ce menu. http://lpamgenieelectri.olympe-network.com/


par contre toujours pas de réponses pour mon post du 12/03/2007. Toujours personne?
clemtomo Messages postés 1 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 20 mars 2007
20 mars 2007 à 08:57
Bonjour à tous,
Il est très bien programmé ce menu, par contre il n'est pas évident de mettre en place la feuille de style de CSS pour afficher ce que l'on veut au centre de la page... Existe-t-il des sites ou l'on puisse voir simplement comment le mettre en place ?
Merci d'avance : ) Bonne journée !
jnff Messages postés 7 Date d'inscription mercredi 21 février 2007 Statut Membre Dernière intervention 27 avril 2007
12 mars 2007 à 01:34
Salut, vraiment bien sympatique comme menu. Je suis débutant dans la vie de webm@ster et j'aurais une quetion à vous poser et une p'tite remarque à faire sur le menu:

? Dans la page d'exemple, un clique sur le lien de messagerie entraine l'ouverture d'une fenêtre d'alerte. Mais comment fait-on pour que lors de ce clique cela entraine l'ouverture du logiciel de messagerie de l'utilisateur? Que faut-il mettre après:
function OnClickOnContactMe()
{
alert( "Service bientôt disponible." )
}

qui est dans le fichier html ou alors faut-il modifier quelque chose dans le fichier Création Menus?



! Lorsque la page est trop grande par rapport à la taille de l'écran de l'utilisateur et qu'il a un défilement verticale, le menu se décale vers le haut mais les zones de "cliquage" des différentes lignes du menu ne changent pas de place par rapport à sa positon lorsque la page est en haut. Comment peut-on fixer le menu verticalement malgré que l'on fasse défilé la page vers le bas? !


Voila ci quelqu'un peu m'aider, merci d'avance @ tous.
Cordialement. j-n
ouibou92 Messages postés 2 Date d'inscription samedi 25 novembre 2006 Statut Membre Dernière intervention 14 avril 2007
10 mars 2007 à 20:56
Bonjour!

Ce menu est super!

Je n'ai qu'un problème qui m'empêche de l'utiliser: lien vers une cible (j'utilise les frames).
En HTML, c'est facile c'est traget=""....
Mais en JS???? J'ai cherché je trouve pas...
Help please!

Merci pour ce menu! 10/10
merkhaled Messages postés 26 Date d'inscription mercredi 8 décembre 2004 Statut Membre Dernière intervention 8 octobre 2007
20 févr. 2007 à 23:50
excellente source, et ca fonctionne a merveille sous IE6 sans aucune erreur.
je met 10/10
remarque : si on utilise les frames, le sous menu ne s'affiche pas, comment faire pour qu'il saffiche en dessus de la frame ?
merci

<FRAMESET cols="180, *" frameborder=0>
<FRAMESET rows="20, 200" frameborder=0>
<FRAME src="entete.html">
<FRAME src="menu.htm" name=menu>
</FRAMESET>
<FRAME src="page.html" frameborder=0>
<NOFRAMES>

</NOFRAMES>
</FRAMESET>
cs_crash03 Messages postés 2 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 10 février 2007
10 févr. 2007 à 14:40
il n'y a aucun message d'erreur, la page se lance et rien ne s'affiche !!! sinon je ne sait pas de quoi tu parle pour le codage de mon espace perso pourrait-tu m'expliquer??
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
10 févr. 2007 à 12:35
Salut Crash03,

Aurais-tu une erreur générée ? Si oui, laquelle ?
Sinon, fait attention au codage de la page dans ton "espace perso" !
cs_crash03 Messages postés 2 Date d'inscription dimanche 10 avril 2005 Statut Membre Dernière intervention 10 février 2007
10 févr. 2007 à 01:28
Salut, j'ai un petit problème, de mon pc le menu marche très bien ( IE, FireFox) mais des que je met ma page sur mon espace perso, il ne s'affiche plus rien !!! es-ce que quelqu'un pourrait m'aider??
benjedi Messages postés 1 Date d'inscription vendredi 16 janvier 2004 Statut Membre Dernière intervention 4 janvier 2007
4 janv. 2007 à 16:09
Bonjour,

Il est très bien ton menu, juste une petite question ...

Comment peut on faire pour lorsque l'on clique sur un Item, la page s'ouvre vers une frame, car pour le moment la page s'ouvre dans une autre fenêtre.

Merci.
blolenain Messages postés 12 Date d'inscription mardi 28 mars 2006 Statut Membre Dernière intervention 17 novembre 2006
17 nov. 2006 à 09:41
moi j'ai un soucis plus compliquer!! car sur une et une seul page, le menu ne veux pas s'afficher sous IE (toutes les autres s'affiche normalement!) et sous firefox np! Ie, seulement sur cette page me la code en UTF-8 et impossible de changer le codage!!!
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 18:06
Quand à l'encodage il est vrai que cela peut ne pas fonctionner en UTF-8. J'ai déjà eu le problème !!
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 18:04
Avec ce code ça marche bien partout !

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>


<!-- Importe la feuille de style des menus -->
<link rel="stylesheet" type="text/css" href="Styles.css" />

<!-- Importe les sources du menu contextuel -->
<script src="Menus/MenuContext.js"></script>
<script src="Menus/MainMenu.js"></script>
<script src="Menus/Menus.js"></script>
<script src="Menus/Items.js"></script>

<!-- Importe la source permettant de créer les menus -->
<script src="Creation Menus.js"></script>

<script>
// Fonction appelée lors d'un click sur n'importe quel item
function ClickOnItem( indexItem, texteItem )
{
if( texteItem == "none" )
alert( "T'as cliqué sur un séparateur\nPas très malin !!" )
else
alert( "T'as cliqué sur l'item : <" + texteItem + "> d'index " + indexItem )
}

// "evenementSouris" doit être intercepté et passé à la fonction "ShowMenu" (pour Mozilla)
function ChangeAndShowMenu_0( evenementSouris )
{
// Met le menu contextuel voulus
// menuContext.ChangeMenuActif( "0" )

// Affiche le menu
// Ne pas oublier le "return" (ShowMenu retourne toujours false) pour que le menu par défaut ne s'affiche pas
return ShowMenu( evenementSouris )
}

function OnClickOnCheckFor()
{
alert( "Il n'y a rien a trouver\r\nC'est juste un exemple !!" )
}

function OnClickOnContactMe()
{
alert( "Vous pouvez me contacter à l'adresse suivante :\r\nludinski@gmail.com" )
}
</script>
</head>



<script>
mainMenu.Start()

// Cette méthode doit être appelée en dernier (donc juste avant la balise de fin de script) pour que les menus apparaissent au premier plan
menuContext.Start( false )

GetElement( "CHECKFOR_BUTTON" ).onclick = OnClickOnCheckFor

</script>


</html>
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
10 nov. 2006 à 17:07
J'ai essayé avec ton code, mais FireFox ne digère pas !!

De toutes façons le problème de compatibilité n'est pas au niveau du code javascript... mais au niveau du codage de la page

Donc, pour afficher correctement l'exemple, il te suffit de changer le codage de ton explorateur :
sous IE : Affichage/Codage/Europe occidentale (Windows)
sous Firefox : Affichage/Encodage des caractères/occidentale (ISO-8859-1)
Tu dois certainement être en UFT8

Je vais quand même me pencher sur ce problème... merci
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 15:03
j'ai enlevé aussi l'accent sur Création Menus.js
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 15:02
Toujours pas !
Nouvel erreur :

Ligne : 2
Car : 1
Erreur : Caractère incorrect
Code : 0

Ligne : 51
Car : 4
Erreur : 'mainMenu' a valeur Null ou n'est pas un objet.
Code : 0

Désolé.

Par contre j'ai trouvé quelquechose pour que cela marche :
il faut déclarer correctement ta page Exemple.html en écrivant ceci :

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Document sans nom</title>
</head>


... et la ton code initial... et ça marche chez moi !

</html>
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
10 nov. 2006 à 14:25
Voilà, j'y ait remédié

J'ai supprimé les fonctions qui repositionnaient le menu, que j'avais mis dans l'exemple

Ca m'étonne quand même que chez moi, il ne dise rien !
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 13:53
Ludinski,

voici l'erreur que j'ai :
Ligne : 40
Car : 4
Erreur : 'style' a al valeur Null ou n'est pas un objet.
Code : 0
LUDINSKI Messages postés 441 Date d'inscription mardi 2 décembre 2003 Statut Membre Dernière intervention 22 mai 2012 8
10 nov. 2006 à 13:18
Salut tito

Je l'ai testé sous FireFox et IE6 et tout fonctionne correctement !!
Pourrais-tu être plus précis sur l'erreur ?!
cs_tito17 Messages postés 8 Date d'inscription mercredi 8 janvier 2003 Statut Membre Dernière intervention 10 novembre 2006
10 nov. 2006 à 10:10
Bonjour,

Il existe un problème sur ie6 (ne fonctionne pas), sur netscape 7 aussi
Cela fonctionne sur firefox,netscape 8, opéra 9.02.

Il pourrait être bien sinon.
Rejoignez-nous