2011-11-12 10 views
0

J'ai créé un menu en utilisant js et css. Chaque li dans le niveau supérieur ul a une image de fond spécifique et une image onmouseover spécifique.créer un menu en javascript

Tout fonctionne correctement, SAUF l'arrière-plan onmouseover chaque fois que j'ai un sous-menu en dessous. S'il vous plaît vérifier le menu vertical sous le lien suivant: http://www.balouta.com/Autostar3/testmenu/test.html

Le Javascript utilisé est le suivant:

var menuids=new Array("verticalmenu") 
var submenuoffset=0 

function createcssmenu(){ 

for (var i=0; i<menuids.length; i++){ 
    var ultags=document.getElementById(menuids[i]).getElementsByTagName("ul") 
    for (var t=0; t<ultags.length; t++){ 

    ultags[t].parentNode.onmouseover=function(){ 

    this.getElementsByTagName("ul")[0].style.right=this.parentNode.offsetWidth+submenuoffset+"px" 
    this.getElementsByTagName("ul")[0].style.display="block" 

    } 
    ultags[t].parentNode.onmouseout=function(){ 
    this.getElementsByTagName("ul")[0].style.display="none" 
    } 
    } 
    } 
} 


if (window.addEventListener) 
window.addEventListener("load", createcssmenu, false) 
else if (window.attachEvent) 
window.attachEvent("onload", createcssmenu) 

Répondre

2

Le problème est que votre vol stationnaire sur un menu haut niveau affiche a div (menu sous) qui se cache le contenu du menu supérieur en dessous de si aucun hover pour a (du menu supérieur) est déclenché.

Une petite correction serait d'enlever la largeur pour les articles qui ont un sous-menu.

supprimer la ligne suivante: width: 225px; (ligne 81) dans le css

Faire la même chose pour tous les autres menus qui a sous-menu.

+0

impressionnant. merci pour la réponse rapide et correcte. –