el.severo
el.severo

Reputation: 2277

jQuery expandable menu

<div id="firstDiv">
    <div id="secondDiv">
        <ul id="accordionMenu">
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a>
                <ul>
                    <li><a href="#">suboption 1</a></li>
                    <li><a href="#">suboption 2</a></li>
                </ul>
            </li>
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a></li>
        </ul>
    </div>
</div>

How to make it expandable?

I have the following JavaScript code:

$(document).ready(function() {
    // Collapse everything but the first menu:
    $("#accordionMenu > li > a").not(":first").find("+ ul").slideUp(1);
    // Expand or collapse:
    $("#accordionMenu > li > a").click(function() {
        $(this).find("+ ul").slideToggle("fast");
    });
});

Upvotes: 2

Views: 1264

Answers (1)

el.severo
el.severo

Reputation: 2277

@Yoshi: Thank you. I'll add the answer here, hope will help others

HTML

<div id="firstDiv">
    <div id="secondDiv">
        <ul id="accordionMenu">
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a>
                <ul>
                    <li><a href="#">suboption 1</a></li>
                    <li><a href="#">suboption 2</a></li>
                </ul>
            </li>
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a></li>
            <li><a href="#">menu item</a></li>
        </ul>
    </div>
</div>

jQuery:

// Collapse everything but the first menu:
$("#accordionMenu > li > a").not(":first").find("+ ul").slideUp(1);

// Expand or collapse:
$("#accordionMenu > li > a").click(function() {
    $(this).find("+ ul").slideToggle("fast");
});​

Don't forget to include jQuery library :)

Upvotes: 2

Related Questions