2011-05-18 60 views
0

我不知道從哪裏開始。我使用WordPress自動生成菜單項列表,所以我無法將鼠標懸停硬編碼到html中。我怎樣才能使列表下降?Javascript drop down for動態生成列表

我試圖修改一個教程,並使用類似這樣的東西,但它不起作用。我不確定如何動態獲取這些菜單並進行更改。律幫助?:

window.onload = initAll; 

function initAll() { 
    var allLinks = document.getElementsByTagName("li"); 

    for (var i=0; i<allLinks.length; i++) { 
     if (allLinks[i].className.indexOf("menu-item") > -1) { 
      allLinks[i].onmouseover = toggleMenu; 
     } 
    } 
} 

function toggleMenu() { 
    document.getElementById(thisMenuName).style.display = "block"; 

} 

上行的產生是這樣的:

<div class="menu-header"><ul id="menu-top-nav" class="menu"><li id="menu-item-82" class="menu-item menu-item-type-post_type menu-item-object-page current-menu-item page_item page-item-4 current_page_item menu-item-82"><a href="http://localhost/wordpress/">HOME</a></li> 
<li id="menu-item-83" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-83"><a href="http://localhost/wordpress/about-ql/">About QL+</a> 
<ul class="sub-menu"> 
    <li id="menu-item-86" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-86"><a href="http://localhost/wordpress/about-ql/ql-laboratory/">QL+ LABORATORY</a></li> 
    <li id="menu-item-87" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-87"><a href="http://localhost/wordpress/about-ql/ql-leadership/">QL+ LEADERSHIP</a></li> 
    <li id="menu-item-84" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-84"><a href="http://localhost/wordpress/about-ql/a-history-of-ql/">A HISTORY OF QL+</a></li> 
    <li id="menu-item-85" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-85"><a href="http://localhost/wordpress/about-ql/fighting-for-life-the-film/">FIGHTING FOR LIFE, THE FILM</a></li> 
</ul> 
</li> 
<li id="menu-item-88" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-88"><a href="http://localhost/wordpress/our-work/">Our Work</a> 
<ul class="sub-menu"> 
    <li id="menu-item-93" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-93"><a href="http://localhost/wordpress/our-work/what-is-a-ql-challenge/">WHAT IS A QL+ CHALLENGE?</a></li> 
    <li id="menu-item-92" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-92"><a href="http://localhost/wordpress/our-work/successful-ql-projects/">SUCCESSFUL QL+ PROJECTS</a></li> 
    <li id="menu-item-90" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-90"><a href="http://localhost/wordpress/our-work/projects-in-development/">PROJECTS IN DEVELOPMENT</a></li> 
    <li id="menu-item-91" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-91"><a href="http://localhost/wordpress/our-work/submit-a-ql-challenge/">SUBMIT A QL+ CHALLENGE</a></li> 
    <li id="menu-item-89" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-89"><a href="http://localhost/wordpress/our-work/hear-from-ql-supporters/">HEAR FROM QL+ SUPPORTERS</a></li> 
</ul> 
</li> 
<li id="menu-item-94" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-94"><a href="http://localhost/wordpress/help-ql-help-our-heroes/">WAYS TO GIVE</a> 
<ul class="sub-menu"> 
    <li id="menu-item-95" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-95"><a href="http://localhost/wordpress/help-ql-help-our-heroes/donate-to-ql/">DONATE TO QL+</a></li> 
    <li id="menu-item-99" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-99"><a href="http://localhost/wordpress/help-ql-help-our-heroes/sponsorships/">SPONSORSHIPS</a></li> 
    <li id="menu-item-96" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-96"><a href="http://localhost/wordpress/help-ql-help-our-heroes/get-involved-volunteer/">VOLUNTEER!</a></li> 
    <li id="menu-item-97" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-97"><a href="http://localhost/wordpress/help-ql-help-our-heroes/ql-partners/">QL+ PARTNERS</a></li> 
    <li id="menu-item-98" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-98"><a href="http://localhost/wordpress/help-ql-help-our-heroes/ql-resources/">QL+ RESOURCES</a></li> 
</ul> 
</li> 
<li id="menu-item-100" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-100"><a href="http://localhost/wordpress/whats-happening/">WHAT&#8217;S HAPPENING</a> 
<ul class="sub-menu"> 
    <li id="menu-item-109" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-109"><a href="http://localhost/wordpress/whats-happening/press-releases/">Press Releases</a></li> 
    <li id="menu-item-103" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-103"><a href="http://localhost/wordpress/whats-happening/ql-in-the-news/">QL+ IN THE NEWS</a></li> 
    <li id="menu-item-112" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-112"><a href="http://localhost/wordpress/whats-happening/upcoming-events/">UPCOMING EVENTS</a></li> 
    <li id="menu-item-114" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-114"><a href="http://localhost/wordpress/whats-happening/special-events/">PREVIOUS EVENTS</a></li> 
</ul> 
</li> 
<li id="menu-item-105" class="menu-item menu-item-type-post_type menu-item-object-page menu-item-105"><a href="http://localhost/wordpress/contact-ql/">CONTACT QL+</a></li> 
</ul></div> 

回答

0

下面是一個簡單的CSS版本。不幸的是它依賴於「hover」僞類,它在IE 6中的非標記< a>標籤上不受支持。爲此,您需要一些JavaScript。

演示:http://jsfiddle.net/NHvmp/1/

 
#menu-top-nav { 
    border:1px solid red; 
} 

#menu-top-nav li { 
    position:relative; 

} 

#menu-top-nav ul.sub-menu { 
    border:1px solid green; 
    background:yellow; 
    display:none; 
    position:absolute; 
    top:0px; 
    left: 100px; 
    z-index:1; 
} 

#menu-top-nav > li:hover ul.sub-menu { 
    display:block; 
}