Bonjour,
j'ai instalé sur mon site un menu déroulant horizontale comme expliqué ici :
http://css.alsacreations.com/xmedia/exemples/deroulant/cssmenu3.htm

Je rencontre un petit soucil sur tous les navigateur. lorsque la page comporte un contenu. Lorsque je charge une page, les sousmenus restes affichés. Il faut resurvoler le menu principal pour les faires disparaitrent.
pour mieu comprendre :
http://www.alexbajeux.com/pages/faune.html

Seules les pages"photos/paysage" et "photos/faune" sont complétées.
Quelqu'un à t'il une idée sur ce qui pourais créer ce genre de problème ? et si oui comment le résourdre ?

Merci.
Alex upload/14775-menubug.jpg
pourrais-tu afficher tes codes sources ??

mais autrement avec ce type menu tu ne peux pas créer de sous-sous menu.
Modifié par flattazor (16 Nov 2007 - 13:28)
merci pour ta réponse,

hum, afficher le code source de la page web ne te sufis pas ? ou le fait d'enregistrer la page ?
pke j'ai 2 feuille de style et un paquet de code sur ce site...

Maintenant pour ce qui est des sous menu j'entend juste : le menu, et 1 seul sous menu. Comme expliqué dans le tutorial.

J'ai fait des test avec l'onglet graphisme et ca fonctionne... mais les pages photos (plus complexe) on ce probleme avec le menu. (les autre bug visible sur les pages ne sont pas important, c'est parceque tout n'est pas mi a jour. Mais ca n'influ pas sur le menu.)
Bonsoir lalesk,

A priori le fautif se trouve dans ces lignes :

function MM_preloadImages() { //v3.0
  var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array();
    var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++)
    if (a[_i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[_i];}}
}

function MM_findObj(n, d) { //v4.01
  var p,i,x;  if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
    d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
  if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[_i][n];
  for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[_i].document);
  if(!x && d.getElementById) x=d.getElementById(n); return x;
}

function MM_changeProp(objName,x,theProp,theValue) { //v6.0
  var obj = MM_findObj(objName);
  if (obj && (theProp.indexOf("style.")==-1 || obj.style)){
    if (theValue == true || theValue == false)
      eval("obj."+theProp+"="+theValue);
    else eval("obj."+theProp+"='"+theValue+"'");
  }
}

Je ne suis pas assez calé pour te venir en aide sur ce code, mais sans, ton menu marche très bien, avec ou sans contenu Smiley cligne

Une petite erreur sur ta classe "fond" :

.fond {
	background-color: #000000;
	background-position: center top;
	width: 870px;
	[#red]float: Aucune;[/#]	
        height: 570px;
	margin-right: auto;
	margin-left: auto;
	margin-top: 0px;
}

C'est [float:none;] et en l'occurence cela ne te sert pas ici Smiley cligne

Un peu de nettoyage à faire dans ton entête :

[#red]<style type="text/css"></style>[/#]
[#red]<link href="css/style.css" rel="stylesheet" type="text/css" />[/#]
<link href="../css/style.css" rel="stylesheet" type="text/css" />
[#red]<link href="/css/style_photo.css" rel="stylesheet" type="text/css" />[/#]
<link href="../css/style_photo.css" rel="stylesheet" type="text/css" />
<link rel="SHORTCUT ICON" href="favicon.ico" />
[#red]<style type="text/css"></style>[/#]

Tu t'embêtes à définir des classes en trop,

.background {
background-color:#000000;
background-image:url(/images/background.gif);
background-repeat:repeat-x;
margin-top:0px;
}

devrait logiquement trouver sa place dans tes définitions du body, ce qui t'éviterait :
<body class="background"...>


Sinon, le site est plaisant (notamment le design ) je pense qu'il y a mieux à faire concernant ton "menu galerie image", le preload n'est peut-être pas nécessaire ( et est sans doute à l'origine du petit bug sur le menu ) il n'est pas très ergonomique et dénote un peu par rapport au reste du design Smiley cligne

Bonne continuation,
Cdt,
Sylvain
Modifié par 6l20 (16 Nov 2007 - 21:02)
ok, merci beaucoup pour cette réponse, tes expliquations me semble clair, je vais essayer tout cela !
et aussi, tu as raison je dois faire un peu de ménage dans mes css Smiley smile .

alex
lut,

d'aprés ton script tu as deux fois la variable " i "


puis tu peux essayer la commande ci-dessous ds ton html et enlever onload="..." ds body



<script type="text/javascript">
     window.onload="MM_preloadImages('/images/bout-photo_g.gif')"
</script>


Modifié par flattazor (17 Nov 2007 - 21:07)
Bonjour, moi j'aurais une question au sujet de ce menu est-il possible de le faire qu'en css ?
Gsgsd a écrit :
Bonjour, moi j'aurais une question au sujet de ce menu est-il possible de le faire qu'en css ?

Oui, mais non

Pour résumer, le rôle de css doit (devrait) se limiter à la mise en page, l'aspect dynamique doit être pris en charge par un langage de programmation: Javascript (ou ECMAScript)...

Cdt,
Sylvain.
Modifié par 6l20 (06 Dec 2007 - 16:09)