• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Разделитель - родитель активного элемента меню-аккордеона

  • Автор темы Prefollower
  • Дата начала
P

Prefollower

Собсно, мне надо раскрыть аккордеон, но не весь, а чтобы при открытии страницы только родитель активного элемента был раскрыт. Аккордеон при загрузке страницы закрывается так:
PHP:
$jQuery(".jjmod-content ul.menu li ul").hide();
Как добавить условие сюда? Пробовал (...).show(), вставлял и active, и active.parent, и current вместо li ul, но, наверное, что-то не так делаю. Если оставить li ul, то раскрывается все меню целиком. Если вам нужны яваскрипты, скажите, как узнать, какие именно надо.
 
V

vital

$jQuery(".jjmod-content ul.menu li ul").hide();
$jQuery(".jjmod-content ul.menu li:first").show();

как-нить так
 
P

Prefollower

Увы. Мне кажется, что-то с current надо. Еще, кстати: там работает скрипт рядом, который цвет пунктов при наведении меняет, так вот он на родителе активного не срабатывает. Наверное, где-то что-то прописано, но я сам не понял, там какие-то not и классы. Вот оба скрипта:
PHP:
<?php if ($sidebar_nav_animation == "yes") { ?>
// ------ Sidebar animation --------- //
$jQuery('.jjmod-content ul.menu li:not(.active) a,.jjmod-content ul.menu li:not(.active)>span').hover(function() { //mouse in тут вот не пойми что. Надо php чтоль подучить :ya_lamo: 
$jQuery(this)
.animate({backgroundColor: "<?php echo $theme_color_code[$theme_color] ?>"}, "fast")
.animate({ backgroundColor: "#253034" }, "slow"); //классно выглядит, плавненько так в серый переходит, только подтормаживает, если мышкой быстро дергать
}, function() { //mouse out 
$jQuery(this).animate({ backgroundColor: "#1B262A" }, "normal"); 
}); 

<?php } if ( $use_accordian == "yes" ) { ?>
// ------ Accordion menu --------- //
$jQuery(".jjmod-content ul.menu li ul").hide();
//Сюда типа надо show, или условие в hide выше
$jQuery(".jjmod-content ul.menu li span").<?php echo $accordian_trigger; ?>(function(){ //отсюда, насколько я понял, идет обработка клика, но ее мне не надо трогать
$jQuery(this).next(".jjmod-content ul").slideToggle("slow").siblings("li:visible").slideUp("slow");
$jQuery(this).toggleClass("active");
$jQuery(this).siblings("li").removeClass("active");
},

$jQuery(".jjmod-content ul.menu li.active a,.jjmod-content ul.menu li.active>span").show(); не сработало.

UPD: Круто! Смотрел на пхп, как баран на ворота, и тут сверкнула молния (фигурально), и я понял, как оно работает. Жаль, не понял, что в show писать.
 
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!