顯示特定的div的項目有格結構我如何在鼠標懸停
<div id="navigate">
<div class="menu">
<div class="group">Mail</div>
<div class="item">Folders</div>
<div class="item">Messages</div>
</div>
<div class="menu">
<div class="group">Contacts</div>
<div class="item">Friends</div>
<div class="item">Work</div>
</div>
<div class="menu">
<div class="group">Setting</div>
<div class="item">General</div>
<div class="item">Account</div>
</div>
</div>
現在所有的項目都隱藏起來,只能用類「組」顯示的div。我想要做的是,如果我將鼠標移到特定的菜單div上,只會出現該菜單的項目。
現在我有這樣的代碼:
function initialise()
{
hideAllItems();
setMouseOvers();
}
function hideAllItems()
{
var nav = document.getElementById("navigate");
var items = nav.getElementsByClassName("item");
for(var i = 0; i < items.length; i++)
{
items[i].style.visibility = "hidden";
items[i].style.display = "none";
}
}
function setMouseOvers()
{
var nav = document.getElementById("navigate");
var menuArr = nav.getElementsByClassName("menu");
for(var x = 0; x < menuArr.length; x++)
{
var itemArrs = menuArr[x].getElementsByClassName("item");
/*var show = function(){ show(itemArrs); };
var hide = function(){ hide(itemArrs); };*/
menuArr[x].onmouseover=function(){ show(itemArrs); };
menuArr[x].onmouseout=function(){ hide(itemArrs); };
}
}
function show(itemArr)
{
for(var i = 0; i < itemArr.length; i++)
{
alert(itemArr[i].innerHTML);
itemArr[i].style.visibility = "visible";
itemArr[i].style.display = "block";
}
}
function hide(itemArr)
{
for(var i = 0; i < itemArr.length; i++)
{
itemArr[i].style.visibility = "hidden";
itemArr[i].style.display = "none";
}
}
而且這個作品,認爲它只是顯示一般和賬戶無論我將鼠標懸停在該菜單。我模糊地理解最近出了什麼問題,但我無法解決它。有任何想法嗎?我不想更改html結構(例如添加id或創建特定的類),如果我可以幫助它!
創建的jsfiddle – Peter
可能重複:HTTP ://stackoverflow.com/questions/9245182/how-can-i-show-a-div-only-when-hovering-a-menu-item-or -DIV –
可能重複[JQuery的:當鼠標懸停在菜單項,顯示文本](http://stackoverflow.com/questions/1276889/jquery-when-hover-on-menu-item-display-text) –