1

http://jsfiddle.net/buhlett/paw5w/

アコーディオンはスムーズに機能しますが、一度にすべてのパネルを閉じることはできません。1つのパネルが常に強制的に開かれます。

私は1、2行欠けていると確信しています

jQuery

$(document).ready(function() {
// Store variables
var accordion_head = $('.grape-accordion > li > a'),
    accordion_body = $('.grape-accordion li > .grape-sub-menu, .grape-last-sub-menu');
// Open the first tab on load
// Click function
accordion_head.on('click', function(event) {
    // Disable header links
    event.preventDefault();
    // Show and hide the tabs on click
    if ($(this).attr('class') != 'active') {
        accordion_body.slideUp('normal');
        $(this).next().stop(true, true).slideToggle('normal');
        accordion_head.removeClass('active');
        $(this).addClass('active');
    }
});
});​

HTML

<div>
    <ul class="grape-accordion">
        <li id="one" class="share"><a href="#one">-</a>
        <ul class="grape-sub-menu">
            <li><a href="#"><em>»</em>-</a></li>
        </ul>
        </li>
        <li id="two" class="mail"><a href="#two">-</a>
        <ul class="grape-sub-menu">
            <li><a href="#"><em>»</em>-</a></li>
        </ul>
        </li>
        <li id="two" class="mail"><a href="#two">-</a>
        <ul class="grape-sub-menu">
            <li><a href="#"><em>»</em>-</a></li>
        </ul>
        </li>
    </ul>
</div>
4

1 に答える 1

1

このjsFiddleの例のような意味ですか?もしそうなら、私がしたのはelse句を追加することだけでした。

else {
        accordion_body.slideUp('normal');
        accordion_head.removeClass('active');
    }
于 2012-04-10T18:28:07.750 に答える