1

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

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

我已将手风琴列表保存到 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;}

脚本

     $(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);
4

2 回答 2

0

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

您也许应该考虑重写您的 html 以使用他们的标记。例如

<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>
于 2012-05-04T21:44:55.387 回答
0

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

于 2014-02-15T04:46:47.947 回答