jQuery在子菜单隐藏导航箭头上保持父高亮显示

时间:2014-05-12 11:42:55

标签: javascript jquery menu navigation

我需要jQuery的一些帮助,我真的希望我能在这里找到一些帮助。当我在隐藏的项目上使用我的导航箭头(下一个/上一个)时,我希望父项保持高亮显示。对于第一个项目的家,它的工作原理,但其余的不是。有人可以帮我吗?

here my fiddle

<div id="cssmenu">
    <ul id="list">
        <li><a href="#home">Home</a></li>
        <ul class="hide"><li><a href="#home2"></a></li></ul>
        <li><a href="#newsletter">Newsletter</a></li>
... </div>

我试图弄清楚:

$(document).ready(function(){
        $('#cssmenu').find('li.active').removeClass('active');

       //adding the state for this parent menu
       $(this).parents('li').addClass('active');


});

我管理我的下一个和上一个按钮:

$( "#next, #prev" ).click( function ( event ) {
            var
                positionActiveClass = menu.find( "> li.active" ).index(),
                menuLength = menu.find( "> li" ).length - 1,
                buttonId = $( this ).attr( "id" );

            if ( buttonId === "next" ) {
                if ( positionActiveClass === ( menuLength ) ) {
                    newElementActiveClass = menu.find( "li" ).eq( 0 );
                    newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );

                    animation( newPositionActiveClass );
                } else {
                    newElementActiveClass = menu.find( "li" ).eq( positionActiveClass + 1 );
                    newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );

                    animation( newPositionActiveClass );
                }
            } else {
                if ( positionActiveClass === 0 ) {
                    newElementActiveClass = menu.find( "li" ).eq( menuLength );
                    newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );

                    animation( newPositionActiveClass );
                } else {
                    newElementActiveClass = menu.find( "li" ).eq( positionActiveClass - 1 );
                    newPositionActiveClass = newElementActiveClass.find( "> a" ).attr( "href" );

                    animation( newPositionActiveClass );
                }
            }

            event.preventDefault();
        } );

1 个答案:

答案 0 :(得分:0)

在第一个具有类隐藏的li之后有一个额外的ul。那个有什么用?只需删除那个ul,一切正常。