Menu javaScript.

HTML5, CSS3, Javascript, support des mobiles... Que penser de votre site ? Vous manquez d'informations pour la construction d'un site qui puisse s'afficher correctement partout ? C'est un problème simple, un peu complexe ? Venez ici !
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Menu javaScript.

Message par guilhem_mdg »

Bonjour,
Voilà, je voudrai créer un seul menu que j'appliquerai directement dans toutes mes pages internet. Mais je n'ai pas envi de créer des frames !
Je sais qu'il existe une solution la PHP (via les variables) mais je souhaiterais le faire en javaScript... Quelqu'un peut-il m'éclairer ?
Merci de vos réponses.
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je déconseillerais javascripte, je n'aime pas trop, mais en effet des fois on ne peux pas faire autrement...


Une solution pas beaux dutout, c'est document.write("<div></div>");

tu crée ton menu dans un feuille à part et quand tu est content de ce menu tu extrait uniquement les élément indispensable au menu... Donc suprimer les <body>...

Tu mes ce bout de code dans un document *.js et tout les ligne tu les inclut dans un document.write("");

puis dans les pages la ou tu veux mettre le menu, tu fait appelle au fichier en question. firefox ou ie quand il veras l'appelle du js, vas télécharger le fichier et l'executer là ou il à était appeller. Comme il n'y as que des document.write il vas executer et ecrire le contenut à l'endroit même de l'appelle... Ainsi le contenut du menu et ecrit...

Sinon il y as peut-être une solution en css pure, mais je ne la connais pas, mais je serais interesser si elle existe...
Inscrit sur la liste des abonner absent...
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Message par guilhem_mdg »

Merci de ta réponse.
Mais un problème se pose alors:
je n'arrive pas écrire une variable sur plusieurs lignes...

Ex.:
maVariable="azeerrtrtyt
zrzrzrz
zez
";


Comment faire, sans passer par la concaténation ?
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

je ne comprent pas tres bien ce que tu veux faire?

Pourquoi ecrre sur plusieur ligne...

Tu peux être plus précie et montré le code qui pauserais probléme...
Inscrit sur la liste des abonner absent...
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Message par guilhem_mdg »

Et bien en fait j'ai un menu déjà créé mais qui tient sur plusieurs lignes.
Je voudrais faire un copier-coller de ce code à l'intérieur de ma variable sans avoir à concaténer à chaque ligne !

maVariable="
Ligne1 du menu
Ligne2 du menu
...
";


Mais je ne sais pas comment faire sans passer par la concaténation...
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

si ce que tu veux écrire et du html sans javascripte, il n'y as pas de probléme

.js

Code : Tout sélectionner

document.write('maVariable="');
document.write('Ligne1 du menu');
document.write('Ligne2 du menu');
document.write('...');
document.write('";');
seras equivalent à :


Code : Tout sélectionner

maVariable="
Ligne1 du menu
Ligne2 du menu
...
"; 
Inscrit sur la liste des abonner absent...
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Message par guilhem_mdg »

Bah il y a plus simple:

Dans le code html:
<!--
menu=creationMenu();
document.write(menu);
-->

Dans le fichier js:
creationMenu(){
variable="ligne1";
variable+="ligne2";
...
return variable}

Seulement là je concatène...
Je voudrai faire, dans le fichier js:
creationMenu(){
variable="ligne1
ligne2";
}
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je ne pense pas que l'on puisse. Je ne me souvien plus si en javascripte on peux écrire des chaine de caractére sur plusieur ligne... Mais si ce n'est pas possible le mieux que tu pouras faire à mon avie c'est :

creationMenu(){
variable="ligne1"
+"ligne2";
}

C'est toujour une concatenation, mais sans à avoir écrire variable+= à chaque fois...
Inscrit sur la liste des abonner absent...
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Message par guilhem_mdg »

Non avec le variable = ... on ne peut pas écrire sur plusieurs lignes. Mais je pensais qu'il existait une autre affectation !
Comme les commentaires: // ou bien /* ... */
Apparemment non !
Bon en tout cas merci beaucoup et désolé de ne pas avoir été très claire dès le début... :oops:
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

non il n'y as pas d /* */ à ma connaissance.

Mais j'ai tester

Code : Tout sélectionner

<script type="text/javascript">
function creationMenu(){
variable="ligne1"
+"ligne2";
return variable;
} 
menu=creationMenu();
document.write(menu); 
</script>
et cela marche
Inscrit sur la liste des abonner absent...
guilhem_mdg
Lézard à collerette
Messages : 438
Inscription : 18 juin 2004, 09:13

Message par guilhem_mdg »

Les /* ... */ c'est en PHP pour écrire sur plusieurs lignes.
Cordialement.
Guilhem.
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

/* */ marche également en javascripte ce sont des commentaire, mais même en php je crois que cela à la même signification...
Inscrit sur la liste des abonner absent...
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

jv2759 a écrit :/* */ marche également en javascripte ce sont des commentaire, mais même en php je crois que cela à la même signification...
Oui ce sont des commentaires dans les 2 cas. :)


Le menu écrit par Javascript, c'est très bête: la personne qui n'a pas le JS ne verra pas s'afficher ton menu!

Un menu où les sous-menu marche pas par ex, ça va, tant que ça empèche pas la navigation. Mais là... :?



Si ton hébergeur accepte le PHP, tu peux simplement renommer toutes tes pages .html en .php.
Et au début tu écrit:

Code : Tout sélectionner

<? include 'menu.php'; ?>

Dans menu.php il ne reste plus qu'à écrire ton menu, une seule fois. En HTML pur, pas besoin de connaitre le PHP. :)
jv2759
Tyrannosaurus Rex
Messages : 4161
Inscription : 12 févr. 2004, 14:29

Message par jv2759 »

Je supose justement que dans son cas il n'accepte pas php puisqu'il à écrit :
Je sais qu'il existe une solution la PHP (via les variables) mais je souhaiterais le faire en javaScript...
Inscrit sur la liste des abonner absent...
DJiK
Lézard à collerette
Messages : 474
Inscription : 17 févr. 2004, 13:18

Message par DJiK »

jv2759 a écrit :
mais je souhaiterais
Il souhaiterait, il est pas obligé... :P

Hihi! :mrgreen:
Répondre

Qui est en ligne ?

Utilisateurs parcourant ce forum : Aucun utilisateur inscrit et 3 invités