Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 05.10.2012, 16:44
Новичок на форуме
Отправить личное сообщение для Miha Посмотреть профиль Найти все сообщения от Miha
 
Регистрация: 23.11.2011
Сообщений: 4

Невидимый li
Вобщем есть древовидное многоуровневое меню (id = "left-menu") примерно такой структуры:
- Пакет предложений
- Каталог товаров
- Товары 1
- Товары 2
- .............
- Товары n

И мне надо чтоб первый li (тот что "Пакет предложений") был невидимым (именно невидимым - типа как display:none).
Меню формируется динамически, естественно на php.
Сделать через псевдоклассы css такие как например :first-child неполучилось, потому как display:none присваивается и тегу li, который содержит "Товары 1". Решил сделать через javascript, но так как опыта в нем у меня крайне мало, самому откопать в гугле решение не получилось.
Вот решил спросить здесь у умных людей
Подскажите пожалуйста решение кто знает
Ответить с цитированием
  #2 (permalink)  
Старый 05.10.2012, 16:56
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Код сформированный покажи.
__________________
29375, 35
Ответить с цитированием
  #3 (permalink)  
Старый 05.10.2012, 17:03
Новичок на форуме
Отправить личное сообщение для Miha Посмотреть профиль Найти все сообщения от Miha
 
Регистрация: 23.11.2011
Сообщений: 4

<?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>



Вот код пхп согласно которому формируется меню.
Ответить с цитированием
  #4 (permalink)  
Старый 05.10.2012, 21:55
Аватар для Margarita
Аспирант
Отправить личное сообщение для Margarita Посмотреть профиль Найти все сообщения от Margarita
 
Регистрация: 14.09.2012
Сообщений: 83

как вариант:
$("#left-menu li").eq(0).hide();
Ответить с цитированием
  #5 (permalink)  
Старый 06.10.2012, 02:39
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,492

Сформированный, сказано же. Разбираться в говнопхп никакого желания нет.
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 06.10.2012, 05:38
Кандидат Javascript-наук
Отправить личное сообщение для Your Посмотреть профиль Найти все сообщения от Your
 
Регистрация: 03.10.2012
Сообщений: 147

<матное слово>

За такое руки отрывают...
Ответить с цитированием
  #7 (permalink)  
Старый 08.10.2012, 09:50
Новичок на форуме
Отправить личное сообщение для Miha Посмотреть профиль Найти все сообщения от Miha
 
Регистрация: 23.11.2011
Сообщений: 4

Сообщение от Aetae Посмотреть сообщение
Сформированный, сказано же. Разбираться в говнопхп никакого желания нет.
<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>


Сформированный. Такой что ли?
Ответить с цитированием
  #8 (permalink)  
Старый 08.10.2012, 10:08
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

Miha, после списка разместите, но наверняка есть решение получше
<script>
document.getElementById("left-menu").children[0].style.display = "none";
</script>
Ответить с цитированием
  #9 (permalink)  
Старый 08.10.2012, 10:24
Новичок на форуме
Отправить личное сообщение для Miha Посмотреть профиль Найти все сообщения от Miha
 
Регистрация: 23.11.2011
Сообщений: 4

Сообщение от lord2kim Посмотреть сообщение
Miha, после списка разместите, но наверняка есть решение получше
<script>
document.getElementById("left-menu").children[0].style.display = "none";
</script>
А решения получше и не надо ) Итак сработало на ура! Спасибо Вам, Вы гений )))
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Удалиь невидимый знак переноса VitAl2013 jQuery 1 06.08.2012 12:24
Необычный невидимый <a href> sugoj (X)HTML/CSS 3 27.07.2011 17:27
невидимый submit AraGnom Общие вопросы Javascript 1 20.10.2009 09:06