S'abonner :  Newsletters    Magazines
Avis sur les produits Avis sur les logiciels Avis sur les jeux Actualités A propos de 01net
913 utilisateurs connectés

[résolu] Code incompatible IE

tuxben le 26 décembre 2007 à 13h13
Bonjour
J'ai trouvé un menu déroulant vertical qui me plaisait bien en html+css sans javascript
Malheuresement il ne fonctionne pas sous IE
Voici le code html :

<div id="menu">
<ul class="niveau1">
<!-- Menu 1 -->
<li><a href="index.html">Accueil</a></li>
<!-- Menu 2 -->
<li class="sousmenu"><a href="">Solutions globales</a>
<ul class="niveau2">
<li><a href="Solutions globales/tri/">Tri</a></li>
<li><a href="Solutions globales/déchets ménagers/">Déchets ménagers</a></li>
<li><a href="Solutions globales/dépollution de sol">Dépollution du sol</a></li>
<li><a href="Solutions globales/DIB/">DIB</a></li>
</ul>
</li>
<!-- Menu 3 -->
<li class="sousmenu"><a href="">Produits ménart traitement des déchets</a>
<ul class="niveau2">
<li><a href="menart/traitement_dechets/">Catalogue</a></li>
<li><a href="menart/traitement_dechets/broyeur/">Broyeurs</a></li>
<li><a href="menart/traitement_dechets/retourneurs/">Retourneurs</a></li>
<li><a href="menart/traitement_dechets/tamis/">Tamis</a></li>
<li><a href="menart/traitement_dechets/table_de_tri/">Table de tri</a></li>
<li><a href="menart/traitement_dechets/séparateur_plastic/">Séparateur plastic</a></li>
</ul>
</li>
<!-- Menu 4 -->
<li class="sousmenu"><a href="">Produit Menart<br />espace vert</a>
<ul class="niveau2">
<li><a href="menart/espace_vert/">Catalogue</a></li>
<li><a href="menart/espace_vert/deserbeur/">Déserbeur</a></li>
<li><a href="menart/espace_vert/araseuse/">Araseuse</a></li>
<li><a href="menart/espace_vert/DMS/">Déssoucheuse DMS</a></li>
<li><a href="menart/espace_vert/SGD/">Faucheuse sous-glissière SGD</a></li>
<li><a href="menart/espace_vert/cureuse_fosse/">Cureuse de fossé CM</a></li>
</ul>
</li>
<!-- Menu 5 -->
<li class="sousmenu"><a href="mise_en_page_4.php">Produits distribués</a>
<ul class="niveau2">
<li><a href="mise_en_page_4.php">Catalogue</a></li>
<li><a href="mise_en_page_4.php">Débroussailleuse</a></li>
<li><a href="mise_en_page_4.php">Aspiratrice</a></li>
<li><a href="mise_en_page_4.php">Lamier</a></li>
<li><a href="mise_en_page_4.php">Nacelle</a></li>
<li><a href="mise_en_page_4.php">Hache-branches</a></li>
<li><a href="mise_en_page_4.php">Broyeur</a></li>
</ul>
</li>
<!-- Menu 6 -->
<li><a href="index.html">Références</a></li>
<!-- Menu 7 -->
<li><a href="index.html">Menart Info</a></li>
<!-- Menu 8 -->
<li><a href="index.html">Occasions</a></li>
<!-- Menu 9 -->
<li><a href="index.html">Contact</a></li>
<!-- Menu 10 -->
<li><a href="index.html">Locasisation</a></li>
</ul>
</div>

Et le code CSS :

/* Menu verticlal */
#menu
{
width: 150px;
}
/* fond blanc pour le menu */
#menu a
{
color: black;
}
#menu ul
{
padding: 0;
width: 174px;
border:1px solid;
margin:0px;
background: white;
}

/* fond different au survol de la souris pour les sous menu et les "basiques"*/
#menu li:hover
{
background: #afd0b6;
}
#menu li.sousmenu:hover
{
background: #EBB;
}

/* Rajout d'une petite fleche pour les sous menu */
#menu li.sousmenu
{
background: url(fleche.gif) 95% 50% no-repeat;
}

#menu ul li
{
position:relative;
list-style: none;
border-bottom:1px solid;
}
#menu ul ul
{
position: absolute;
top: -1px;
left: 174px;
display:none
}

/* on rajoute une bordure a gauche et des padding, on doit donc réajuster la taille 100-(8 de bordure + 8 de padding) =84 */
#menu li a
{
text-decoration: none;
padding: 4px 0 4px 8px;
display:block;
border-left: 8px solid #BBB;
width:158px
}
#menu ul.niveau1 li.sousmenu:hover ul.niveau2,
#menu ul.niveau2 li.sousmenu:hover ul.niveau3
{
display:block;
}

/* la bordure de chaque hauteur a une couleure de survol*/
#menu li a:hover
{
border-left-color: green;
}
#menu ul ul li a:hover
{
border-left-color: green;
}
#menu ul ul ul li a:hover
{
border-left-color: green;
}


J'éspère que vous trouverez la solution
Merci d'avance
Tuxben
-->Message édité par tuxben le 02/01/2008 11:16:25<--
tuxben le 28 décembre 2007 à 14h51
tuxben le 02 janvier 2008 à 11h15
C'est bon, c'est résolu il falait rajouter un petit javascript :

<script language="JavaScript">
function hover(obj)
{
ul = obj.getElementsByTagName('ul');
if(ul.length > 0)
{
style = ul[0].style;
if(style.display == '' || style.display == 'none')
{
style.display = 'block';
}
else
{
style.display = 'none';
}
}
}
function setHover()
{
if(/MSIE/.test(navigator.userAgent))
{
li = document.getElementById('menu').getElementsByTagName('li');

for(var i=0; i < li.length; i++)
{
li.onmouseover = function(){hover(this)};
li.onmouseout = function(){hover(this)};
}
}
}
</script>
-->Message édité par tuxben le 02/01/2008 11:16:00<--
bayjay le 20 mai 2009 à 10h35
Salut a tous, j'ai exactement le même problème que toi et je n'arrive pas à le résoudre j'aimerais bien que tu me dises en détail comment tu a réussi pour faire marché ton site sous IE .

Merci


PRODUITS

TÉLÉCHARGER - LOGICIELS

JEUX VIDÉOS

LOISIRS

01NET PRO

AVIS ET COMMENTAIRES

A PROPOS DE 01NET

publicité
> Jeu en ligne
Everest Poker
Profitez de 300$ de bonus de bienvenue.

Service 01net
Newsletters 01net
abonnez vous gratuitement !
  
01Informatique
01 INFORMATIQUE
L'hebdo de référence des décideurs informatiques.
Micro Hebdo
MICRO HEBDO
L'hebdo qui vous simplifie la micro
et Internet.
L'Ordinateur Individuel
L'ORDINATEUR INDIVIDUEL
Le mensuel informatique qui vous informe et vous conseille.
Tous droits réservés © 1999 - 2009 Internext - 01net.