Jquery - помогите развернуть меню по умолчанию

Тема в разделе "JavaScript", создана пользователем mr.Elias, 11 май 2019.

  1. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54
    Друзья, подскажите как правильно "развернуть" боковое меню по умолчанию, не через css (!important), потому что в этом случае при нажатии на "+" меню не сворачивается.

     
  2. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Втупую например: Просто на li вешаешь какой-нибудь id="id_category" и потом делаешь
    HTML:
    $(document).ready({
        $('li#id_category').click();
    });
    
     
  3. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54
    там есть уже скрипт. Не пойму как подправить


    Код:
    function(e, first) {
      e.preventDefault();
      $('+ ul', $(this).parent()).slideToggle(first ? 0 : 400);
      $(this).parent().toggleClass('active');
      $(this).html($(this).parent().hasClass('active') ? "<span>-</span>" : "<span>+</span>");
      return false;
    }
     
  4. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Этот скрипт вешает обработчик на клик.
     
  5. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54
    Код:
    function(e) {
      if ($(e.target).is($('.journal-search input'))) {
        return;
      }
      $('.journal-header-compact .journal-search').removeClass('search-on-top');
      $('.journal-header-compact .journal-search input').hide();
      $('.journal-header-compact .button-search button').css('pointer-events', 'none');
      window['__searchIsOpened'] = false;
    }
    Тогда может быть этот, только не вижу что добавляет "class="active", при котором разворачивается список категорий?
     
  6. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Код:
    $('#journal-side-category-834613557 .box-category a i').click(function(e, first){
                e.preventDefault();
                $('+ ul', $(this).parent()).slideToggle(first ? 0 : 400);
                $(this).parent().toggleClass('active');
                $(this).html($(this).parent().hasClass('active') ? "<span>-</span>" : "<span>+</span>");
                return false;
            });
            $('#journal-side-category-834613557 .is-active i').trigger('click', true);
    вот весь код, который прописан, где-то в шаблоне.

    Ну и как я сказал выше, в шаблоне. для списка категорий было бы неплохо назначить id на каждый элемент списка (li)

    и тогда можно тригернуть клик на любой элемент при загрузке страницы
     
  7. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54

    как их всех сразу раскрыть? мне надо сразу все, а не по одному. всем выставить ”ACTIVE“
     
  8. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    Код:
    $('.box-category li i').click();
     
  9. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54
    это надо добавить или заменить в первой строке?
     
  10. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    это можно вставить куда угодно. только завернуть в
    Код:
    $(document).ready({ 
        $('.box-category li i').click();
    })
     
  11. mr.Elias

    mr.Elias

    Регистрация:
    15 июн 2013
    Сообщения:
    319
    Симпатии:
    54
    то есть заменить это
    $('#journal-side-category-834613557 .box-category a i').click(function(e, first){
    на это
    $('#journal-side-category-834613557 .box-category li i').click(function(e, first){
     
  12. $iD

    $iD Команда форума

    Регистрация:
    13 мар 2012
    Сообщения:
    3.581
    Симпатии:
    1.482
    наверно да, не знаю что просто это это и отдкуа