用手风琴设置活动部分

时间:2012-05-03 16:00:11

标签: javascript html-lists

我正在尝试在手风琴中设置一个活动部分。我很难搞清楚如何做到这一点。我不知疲倦地搜索,并没有找到我的具体案例的解决方案。这似乎很直接,但我无法弄明白。请帮忙!

(我的目的是将此列表放在母版页上,并在导航到每个内容页面时设置活动部分。)

我已将手风琴列表保存到jsFiddle:http://jsfiddle.net/pWbxm/14/

** jsFiddle上的替代手风琴列表,它使用div / header格式:http://jsfiddle.net/hemiar/44UTR/

HTML:

<ul class="leftNavMenu">
    <li><a href="#" title="#">Home</a></li>
        <li><a href="#" title="#">HR + Benefits</a>
            <ul>
                <li><a href="#">HR Main</a></li>
                <li><a href="#">Policies</a></li>
                <li><a href="#">Benefits</a></li>
                <li><a href="#">Forms</a></li>
                <li><a href="#">Employee Handbook</a></li>
                <li><a href="#">Managers</a></li>    
            </ul>
        </li>    
        <li><a href="#" title="#">Departments</a> 
            <ul>
                <li><a href="#">Accounting</a>  
                <ul>
                <li><a href="#">Accounting Main</a></li>
                <li><a href="#">Draft Dates</a></li>
                <li><a href="#">Forms</a></li>
                <li><a href="#">InfoSend</a></li>
            </ul>
        </li>  
        <li><a href="#">Acquisitions</a> 
            <ul>
                <li><a href="#">Acquisitions Main</a></li>
                <li><a href="#">Bulk Acquisitions</a></li>
                <li><a href="#">Dealer Program Acquisitions</a></li>
                <li><a href="#">Training Manual</a></li>
            </ul>
        </li>   
        </ul>
    </li>
    <li><a href="#" title="#">Contacts</a> 
        <ul>
            <li><a href="#">Contacts Home</a></li>
            <li><a href="#">SAFE Phone List</a></li>
            <li><a href="#">CSAI Phone List</a></li>
            <li><a href="#">DND Codes</a></li>
            <li><a href="#">Phone User Guides</a></li>    
        </ul>
    </li>
</ul>

的CSS:

.leftNavMenu{width: 195px;}

ul.leftNavMenu{line-height: 0.5em;}

ul.leftNavMenu ul{
    margin: 0;
    padding: 0;
    display: none;}

ul.leftNavMenu li{
    list-style: none;
    font-size:10px;font-weight:bold;
    color:#1D65B3;
    border-bottom:inset;
    border-width:1px;
    border-bottom-color:#BDD1E6;}

ul.leftNavMenu li a{
    line-height: 10px;
    padding: 10px 5px 5px 10px;
    display: block;}

ul.leftNavMenu li a:hover{
    background-color:#ffffff;
    color:#1D65B3;}

ul.leftNavMenu ul li{
    margin: 0;
    padding: 0;
    clear: both;
    font-family:Verdana, "Segoe UI";
    font-size:9px;font-weight:bold;
    background-color:#D5E6F8;
    color:#ffffff;}

ul.leftNavMenu ul li a{
    padding-left: 15px;
    outline:0;}

ul.leftNavMenu ul li a:hover{
    background-color:#ffffff;
    color:#1D65B3;}

ul.leftNavMenu ul ul li{    
    background-color:#ffffff;
    color:#1D65B3;
    border-bottom-style:dotted;}

ul.leftNavMenu ul ul li a{
    font-size:9px;font-weight:normal;
    padding-left: 30px;}

ul.leftNavMenu ul ul li a:hover{
    background-color:#E8EFF7;
    color:#1D65B3;}

ul.leftNavMenu span{
    float:right;}

的JScript

     $(document).ready(function() {
        $('li').click(function(ev) {
            $(this).find('>ul').slideToggle('slow')
                .end().siblings().find('ul').slideUp('slow');
            ev.stopPropagation();
        });
    });
    var accordion = $('ul.leftNavMenu');
    accordion.accordion('activate', 2);

2 个答案:

答案 0 :(得分:0)

jQuery UI Accordion旨在使用文档中显示的HTML。我不认为它适用于<ul><li>标签。

你应该考虑重写你的html以使用他们的标记。 e.g。

<div id="accordion">
    <h3><a href="#section1">Section 1</a></h3>
    <div>
        <p>Mauris mauris ante, blandit et, ultrices a, susceros. Nam mi. Proin viverra leo ut odio. Curabitur malesuada. Vestibulum a velit eu ante scelerisque vulputate.</p>
    </div>
    <h3><a href="#section2">Section 2</a></h3>
    <div>
        More Content Here
    </div>
</div>

答案 1 :(得分:0)

似乎这个问题已经开放了几年。我能够使用div和header标签将其工作到三级导航菜单,但不能使用ul标签。它似乎只能识别ul列表中的第一和第二级。