2011-11-12 34 views
0

我使用js和css創建了一個菜單。頂級ul中的每個li都具有特定的背景圖像,也是特定的onmouseover圖像。在javascript問題中創建菜單

一切工作正常,除了onmouseover背景,每當我有一個子菜單下。請查看以下鏈接下的垂直菜單: http://www.balouta.com/Autostar3/testmenu/test.html

使用的JavaScript如下:

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) 

回答

2

的問題是,你將鼠標懸停在頂級菜單顯示a格(子菜單)隱藏頂部菜單的內容在頂部菜單的a沒有懸停的情況下被觸發。

一個小的修復將刪除具有子菜單的項目的寬度。

刪除以下行: width: 225px;(線81)在CSS

做同樣爲所有有子菜單中的其他菜單。

+0

令人印象深刻。感謝您的快速和正確的迴應。 –