cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008
-
2 août 2004 à 13:43
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008
-
6 août 2004 à 13:52
Salut tout le monde.
J'ai utiliser un script javascript de menu déroulant pour créer une menu pour mon site.
Cependant, j'ai une erreur avec mozilla qui l'empè_che de fonctionner sous lui.
Je ne sais pas comment faire pour la resoudre, et j'en demande votre aide.
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008 2 août 2004 à 23:34
Euh, Michel Deboom, je suis interessé par ton menu, est-ce qu'il serais possible de me donner un menu simple, que ne suis po le scroll, mais qui reste fixe sur une page, comme celui que j'ai utilsé. je ferais les changements pour les images seul.
Je veux juste un menu identique mais compatible mozilla.
Ce serais très sympas, merci d'avance.
Vous n’avez pas trouvé la réponse que vous recherchez ?
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008 3 août 2004 à 11:26
Bon, j'ai essayé de mettre le menu, mais je n'y arrive pas.
Dans mon, ca le Javascript et le style css doivent être intégré à la page, et pas être dans un aute fichier, de plus les menus doivent être au nombre de 8 intégré sur une ligne.
Quand je place le code dans ma page, au lieu d'avoir les menu normal, la page m'affiche l'arbre des menus.
chmel
Messages postés75Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention12 octobre 2004 3 août 2004 à 22:46
je vais étudier ta source.
Autre chose : ton interface graphique est de toute beauté, tu t'adresse peut-être à ceux qui ont l'adsl mais pour le bas débit le chargement est long. Il faudrait optimiser les images. J'ai testé sur l'image orc-options-button-background.jpg :
9.9ko >> 2.8ko après opimisation sans perte de qualité visible.
chmel
Messages postés75Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention12 octobre 2004 4 août 2004 à 00:25
Voià, c'est pas très standard. Il ne te reste plus qu'à compléter la liste énumérative en bas de page.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<title>Menu dynamique avec images d'arrière plan.</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Language" content="fr" />
<style type="text/css" >
body{width:800px;} /*sinon tout ne tiends pas */
.mh a{width:100px; line-height: 26px;/* dimensions de l'image */
text-align:center;background:#000 url(vide.gif);color:#FFF;
display:block;text-decoration:none;margin:0;}
.mh a:hover, .mh a:focus, .mh a:active { background-image: url(videover.gif);}
.mh .suite{}
.mh .suivi{color:yellow}
.mh li{ display:inline;float:left;}
.mh li li{ float:none; }
.mh,.mh ul{margin:0; padding:0; position:absolute;}
/************** 1er niveau : horizontal ****************/
.mh{width:100% }
/************* 2ème niveau : vertical ;*******************/
.mh ul{}
.mh ul li{ margin:0; padding:0;}
.mh li ul{visibility: hidden;}
/****** 3ème niveau : vertical et décalé ******/
.mh ul ul,.mh ul ul ul{left: 100%;
margin-top: -26px; /* hauteur d'image */}
</style>
<script type="text/javascript" >
<!--// Michel Deboom aôut 2004 menu image AP horizontal
//préchargement des images
var i1=new Image(); i1.src="vide.gif"
var i2=new Image(); i2.src="videover.gif"
var delai,menu,pause=2000;
function initMenu(id,c){
//id et class du menu dynamique
menu=document.getElementById(id);
menu.className=c;
lis = menu.getElementsByTagName('li');
uls=menu.parentNode.getElementsByTagName('ul');
for(i=0;i<lis.length;i++){
if(lis[i].getElementsByTagName('a')[0]){ // lien dans le li ?
lien=lis[i].getElementsByTagName('a')[0];
//ajoute les évènements.
lien.onmouseover=lien.onfocus=af_a;lien.onmouseout=ef_delai;
if (lis[i].getElementsByTagName('ul')[0]){ // sous-menu existe ?
lien.firstChild.nodeValue=lien.firstChild.nodeValue+'...'//ajoute "..."
lien.className="suite"; }}}
lien.onblur=function(){ef_tout()} // pour navigation clavier IE
}
function af_a(){
// cache tout après l'ul parent
ef(this.parentNode.parentNode);
// montre l'ul enfant
ul=this.parentNode.getElementsByTagName('ul')[0];
if(ul){ ul.style.visibility="visible";
this.className="suivi"; // marquage du suivi de lien
}}
function ef(ul) { //cache les uls suivants.
clearTimeout(delai);
var li=ul.getElementsByTagName('li');
for(i=0;i<li.length;i++){
var ul=li[i].getElementsByTagName('ul')[0];
if(ul){ul.style.visibility="hidden";
li[i].firstChild.className="suite"; //rétabli le marquage initial
}}}
function ef_delai(){delai=setTimeout('ef_tout()',pause)
}
function ef_tout(){ //cache tous les sous-menus.
for(x=0;x
</script>
</head>
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008 4 août 2004 à 11:35
Salu, j'ai utilisé ton code, mais pparement, la mise en forme ne se fait pas, donc le menu est toujours sous forme d'arborescence des menu verticalement.
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008 4 août 2004 à 20:41
Voilà la source de mon fichier header.php
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
"http://www.w3.org/TR/html4/transitional.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-15" />
<meta http-equiv="Content-Language" content="fr" />
<style type="text/css" >
body{width:800px;} /*sinon tout ne tiends pas */
.mh a{width:100px; line-height: 26px;/* dimensions de l'image */
text-align:center;background:#000 url(vide.gif);color:#FFF;
display:block;text-decoration:none;margin:0;}
.mh a:hover, .mh a:focus, .mh a:active { background-image: url(videover.gif);}
.mh .suite{}
.mh .suivi{color:yellow}
.mh li{ display:inline;float:left;}
.mh li li{ float:none; }
.mh,.mh ul{margin:0; padding:0; position:absolute;}
/************** 1er niveau : horizontal ****************/
.mh{width:100% }
/************* 2ème niveau : vertical ;*******************/
.mh ul{}
.mh ul li{ margin:0; padding:0;}
.mh li ul{visibility: hidden;}
/****** 3ème niveau : vertical et décalé ******/
.mh ul ul,.mh ul ul ul{left: 100%;
margin-top: -26px; /* hauteur d'image */}
</style>
<script type="text/javascript" >
<!--// Michel Deboom aôut 2004 menu image AP horizontal
//préchargement des images
var i1=new Image(); i1.src="vide.gif"
var i2=new Image(); i2.src="videover.gif"
var delai,menu,pause=2000;
function initMenu(id,c){
//id et class du menu dynamique
menu=document.getElementById(id);
menu.className=c;
lis = menu.getElementsByTagName('li');
uls=menu.parentNode.getElementsByTagName('ul');
for(i=0;i<lis.length;i++){
if(lis[i].getElementsByTagName('a')[0]){ // lien dans le li ?
lien=lis[i].getElementsByTagName('a')[0];
//ajoute les évènements.
lien.onmouseover=lien.onfocus=af_a;lien.onmouseout=ef_delai;
if (lis[i].getElementsByTagName('ul')[0]){ // sous-menu existe ?
lien.firstChild.nodeValue=lien.firstChild.nodeValue+'...'//ajoute "..."
lien.className="suite"; }}}
lien.onblur=function(){ef_tout()} // pour navigation clavier IE
}
function af_a(){
// cache tout après l'ul parent
ef(this.parentNode.parentNode);
// montre l'ul enfant
ul=this.parentNode.getElementsByTagName('ul')[0];
if(ul){ ul.style.visibility="visible";
this.className="suivi"; // marquage du suivi de lien
}}
function ef(ul) { //cache les uls suivants.
clearTimeout(delai);
var li=ul.getElementsByTagName('li');
for(i=0;i<li.length;i++){
var ul=li[i].getElementsByTagName('ul')[0];
if(ul){ul.style.visibility="hidden";
li[i].firstChild.className="suite"; //rétabli le marquage initial
}}}
function ef_delai(){delai=setTimeout('ef_tout()',pause)
}
function ef_tout(){ //cache tous les sous-menus.
for(x=0;x
</script>
</head>
cs_mauler
Messages postés18Date d'inscriptionmercredi 26 novembre 2003StatutMembreDernière intervention21 mars 2008 4 août 2004 à 21:06
Don, j'ai fai qelque test, apprement, en tant que page internet seul, le script marche, mais quand on l'intégre au thème de phpnuke, ce ne veux plus fonctionné, comme si la mise en forme était annulée
chmel
Messages postés75Date d'inscriptionlundi 21 juin 2004StatutMembreDernière intervention12 octobre 2004 4 août 2004 à 22:35
Là tu me remplace mes balises <li> par des
.
Tu mets mon menu dans un imbrication de tables dont la première avec la class="bodyline" référencée dans aucune feuille de style.
De plus, c'est un miracle si ta page d'accueuil fonctionne : un tas d'erreurs qui ne sont acceptées que par IE. Avant de prétendre faire du code pour Mozilla, il faudra que tu revois toute ta mise en page. Les tables ne sont pas destinées à ça.