Невидимый li
Вобщем есть древовидное многоуровневое меню (id = "left-menu") примерно такой структуры:
- Пакет предложений - Каталог товаров - Товары 1 - Товары 2 - ............. - Товары n И мне надо чтоб первый li (тот что "Пакет предложений") был невидимым (именно невидимым - типа как display:none). Меню формируется динамически, естественно на php. Сделать через псевдоклассы css такие как например :first-child неполучилось, потому как display:none присваивается и тегу li, который содержит "Товары 1". Решил сделать через javascript, но так как опыта в нем у меня крайне мало, самому откопать в гугле решение не получилось. Вот решил спросить здесь у умных людей :) Подскажите пожалуйста решение кто знает |
Код сформированный покажи.
|
<?if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED!==true)die();?>
<? //echo '<pre>'; print_r($arResult); echo '</pre>'; if (count($arResult) < 1) return; $bManyIblock = array_key_exists("IBLOCK_ROOT_ITEM", $arResult[0]["PARAMS"]); //$bNameIblock = $arResult[0]["TEXT"]; //print_r($bManyIblock); //print_r($bNameIblock); ?> <ul id="left-menu"> <? $previousLevel = 0; foreach($arResult as $key => $arItem){ //print_r ($arItem); if ($previousLevel && $arItem["DEPTH_LEVEL"] < $previousLevel){ echo str_repeat("</ul></li>", ($previousLevel - $arItem["DEPTH_LEVEL"])); } if ($arItem["IS_PARENT"]): $i = $key; $bHasSelected = $arItem['SELECTED']; $childSelected = false; if (!$bHasSelected) { while ($arResult[++$i]['DEPTH_LEVEL'] > $arItem['DEPTH_LEVEL']) { if ($arResult[$i]['SELECTED']) { $bHasSelected = $childSelected = true; break; } } } $className = $nHasSelected ? 'selected' : '';//($bHasSelected ? 'selected' : ''); ?> <? if ($arItem['DEPTH_LEVEL'] > 1 && !$childSelected && $bHasSelected):?> <li class="current"> <a class="selected" href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a> <ul> <? else:?> <li<?=$bHasSelected ? ' class="selected"' : ''?>> <a<?=$bHasSelected ? ' class="selected"' : ''?> href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a> <ul<?=$bHasSelected || ($bManyIblock && $arItem['DEPTH_LEVEL'] <= 1) ? '' : ' style="display: none;"'?>> <? endif?> <? else: if ($arItem["PERMISSION"] > "D"): $className = $arItem['SELECTED'] ? $arItem['DEPTH_LEVEL'] > 1 ? 'current' : "selected" : ''; ?> <li<?=$className ? ' class="'.$className.'"' : ''?>> <a<?if ($arItem['SELECTED']):?> class="selected"<?endif?> href="<?=$arItem["LINK"]?>"><?=$arItem["TEXT"]?></a> </li> <? endif; endif; $previousLevel = $arItem["DEPTH_LEVEL"]; } if ($previousLevel > 1)://close last item tags echo str_repeat("</ul></li>", ($previousLevel-1) ); endif; ?> </ul> Вот код пхп согласно которому формируется меню. |
как вариант:
$("#left-menu li").eq(0).hide(); |
Сформированный, сказано же. Разбираться в говнопхп никакого желания нет.
|
<матное слово>
За такое руки отрывают... |
Цитата:
<ul id="left-menu"> <li> <a href="/catalog/products/">Пакет предложений</a> </li> <li> <a href="/catalog/products/">Каталог товаров</a> <ul> <li> <a href="/catalog/products/40/">Бумага и бумажная продукция </a> <ul style="display: none;"> <li> <a href="/catalog/products/41/">Бумага для офисного оборудования </a> <ul style="display: none;"> <li> <a href="/catalog/products/42/">Бумага для принтеров</a> </li> <li> <a href="/catalog/products/43/">Бумага цветная</a> </li> <li> <a href="/catalog/products/44/">Бумага для цветной печати</a> <ul style="display: none;"> <li> <a href="/catalog/products/45/">Бумага для полноцветной лазерной печати</a> </li> <li> <a href="/catalog/products/46/">Бумага для полноцветной лазерной печати Glossy</a> </li> <li> <a href="/catalog/products/47/">Бумага для полноцветной лазерной печати Silk</a> </li> <li> <a href="/catalog/products/48/">Бумага для полноцветной лазерной печати Style</a> </li> </ul></li></ul></li></ul></li> <li> <a href="/catalog/products/49/">Техника </a> <ul style="display: none;"> <li> <a href="/catalog/products/50/">Компьютеры</a> <ul style="display: none;"> <li> <a href="/catalog/products/51/">Компьютеры IRU Premium</a> </li> <li> <a href="/catalog/products/52/">Компьютеры IRU для дома</a> </li> </ul></li></ul></li></ul></li> </ul> Сформированный. Такой что ли? :) |
Miha, после списка разместите, но наверняка есть решение получше
<script> document.getElementById("left-menu").children[0].style.display = "none"; </script> |
Цитата:
|
Часовой пояс GMT +3, время: 15:22. |