1

私はナビゲーションにアコーディオンを使用しており、jquery を使用しています。私の問題は、ページが読み込まれると、デフォルトですべてのヘッダーが閉じられる必要があることです。ヘッダーにマウスを合わせると、その兄弟が開き、マウスアウトすると自動的に閉じます。

<ul id="accordion">
    <li>
        <a href="#" class="history_heading" rel="history_heading">HISTORY</a>
        <ul>
            <li><a href="#">Link One</a></li>
            <li><a href="#">Link Two</a></li>
            <li><a href="#">Link Three</a></li>
            <li><a href="#">Link Four</a></li>
            <li><a href="#">Link Five</a></li>
        </ul>
    </li>

    <li>
        <a href="#" class="geography_heading" rel="geography_heading">GEOGRAPHY</a>
        <ul>
            <li><a href="#">Link One</a></li>
            <li><a href="#">Link Two</a></li>
            <li><a href="#">Link Three</a></li>
            <li><a href="#">Link Four</a></li>
            <li><a href="#">Link Five</a></li>
        </ul>
    </li>
</ul>

助けてください
以下に示すjqueryコードはクリック機能用ですが、要件に従って
jqueryコードが必要です

$(document).ready(function () {

    $('#accordion li').children('ul').hide();
    $('.history_heading').parent().addClass('active').find('ul').show();

    $('#accordion a').click(function () {

        $(this).parent().siblings('.active').removeClass('active').find('ul').slideUp('fast');

        if ($(this).parent().hasClass('active')) {
            $(this).next('ul').slideUp('fast');
            $(this).parent().removeClass('active');
        } else {
            $(this).next('ul').slideDown('fast');
            $(this).parent().addClass('active');
        }

    });




});
4

3 に答える 3

0
$('#accordion > li').each(function(){
    var accHolder = $(this),
        acc = accHolder.find('> ul');

    accHolder.hover(function(){
        acc.slideDown();
    }, function(){
        acc.slideUp();
    });
});
于 2013-09-25T09:35:05.637 に答える