JQuery держать родительский подсветку в подменю скрытых навигационных стрелок

0

Мне нужна помощь в jQuery, и я очень надеюсь, что я смогу найти здесь какую-то помощь. Я хотел бы, когда я использую свои навигационные стрелки (следующий/предыдущий), когда я нахожусь в скрытом элементе, который родительский элемент остается выделенным. Для первого предмета домой он работает, но для остальных нет. Кто-нибудь может мне помочь?

здесь моя скрипка

<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
    Привет, Амир, спасибо за ответ. Ты посмотрел на мою скрипку? На самом деле, например, я хочу смоделировать непрерывность элемента, home2 - это непрерывность home. Проблема, когда я нажимаю «Далее», дом остается выделенным, что нормально, но я остался заблокированным в скрытом доме2. Я не могу перейти к следующему пункту.
Теги:
navigation
menu

1 ответ

0

После первого li есть дополнительная ul, у которой есть скин класса. Для чего это? Просто удалите эту улицу, и все работает нормально.

  • 0
    Привет, да, я добавил это ul ul class после первого li, чтобы домашний стиль оставался активным, когда мы находимся в home2. home2 - это продолжение дома, и я хочу, чтобы пользователь думал, что он все еще дома. Но проблема, когда я нахожусь в home2, навигация заблокирована.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню