Задать класс active для всех ul

Тема в разделе "JavaScript", создана пользователем jurikserf, 9 ноя 2014.

Модераторы: ZiX
  1. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    31
    Не очень силен в js. Понадобилось боковое меню с подзаголовками. Для этой цели идеально подходит js меню.
    Проблема. Мне хочется, чтобы все ul были открыты по умолчанию при заходе на страницу.
    Пробую прописывать .class(active) но пока не могу добиться результата.

    Код:
    ( function( $ ) {
    $( document ).ready(function() {
    $('#leftmenu > ul > li > a').click(function() {
      $('#leftmenu li').removeClass('active');
      $(this).closest('li').addClass('active');   
      var checkElement = $(this).next();
      if((checkElement.is('ul')) && (checkElement.is(':visible'))) {
        $(this).closest('li').removeClass('active');
        checkElement.slideUp('normal');
      }
      if((checkElement.is('ul')) && (!checkElement.is(':visible'))) {
        $('#leftmenu ul ul:visible').slideUp('normal');
        checkElement.slideDown('normal');
      }
      if($(this).closest('li').find('ul').children().length == 0) {
        return true;
      } else {
        return false;   
      }       
    });
    });
    } )( jQuery );
     
  2. demios

    demios Писатель

    Регистр.:
    11 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    HTML:
    <script>
    $("#leftmenu > ul > li > a").addClass("active");
    </script>
     
  3. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    31
    Благодарю за оперативную помощь. Прописал как вы выслали скриптом, вызов внешнего скрипта убрал. Пока ничего не изменилось...
    Я в том смысле, что все пункты закрыты. Только теперь пропали ссылки... Вместо открывания вызывает #
     
  4. demios

    demios Писатель

    Регистр.:
    11 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    Можно попросить у вас ссылку на сайт?
    Сложно советовать что-то не видя исходника, можно попробовать просто с помощью CSS решить проблему.
     
  5. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    31
  6. demios

    demios Писатель

    Регистр.:
    11 мар 2014
    Сообщения:
    6
    Симпатии:
    0
    данный скрипт не подходит под ваши задачи.
    у него в задумке скрыть все подменю и возможность держать открытым максимум одно подменю, при открытие второго первый закрывается.

    скрипт который вам нужен на много проще будет, можно обойтись обычным "toggle", попробуйте по искать обычные jQuery меню, если не найдете, дайте знать, помогу найти
     
  7. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    31
    К сожалению пока ничего не смог найти. Все просмотренные мной варианты изначально в закрытом состоянии. Вариант с открытым по умолчанию верхним уровнем наверно тоже подошел бы.
     
  8. jurikserf

    jurikserf Постоялец

    Регистр.:
    4 янв 2013
    Сообщения:
    104
    Симпатии:
    31
    Пока все в поисках. Что интересно, такого типа меню на мой взгляд довольно популярно, но не могу найти даже платного решения на codecanyon. Странно. Сейчас нужно такое же меню еще для одного проекта - интернет магазина, чтобы в левой колонке был список всех категорий (развернутый по умолчанию). Пока не могу найти готового решения. Как вариант "выдернуть" с какого нибудь шаблона.

    Огромная просьба ко всем, может кто-то имеет наработки и готов поделиться вертикальным меню со мной? Можно на платной основе...