在手风琴中设置活动部分

Setting active section in accordion

本文关键字:活动部 设置 手风琴      更新时间:2023-09-26

我正在尝试在我的手风琴中设置一个活动部分。我很难弄清楚如何做到这一点。我孜孜不倦地寻找,没有找到解决我具体情况的方法。这看起来很简单,但我无法弄清楚。请帮忙!

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

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

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>

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