Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Как частично скрыть элементы многоуровневого списка (https://javascript.ru/forum/jquery/72801-kak-chastichno-skryt-ehlementy-mnogourovnevogo-spiska.html)

ТвердолобыйЛамер 27.02.2018 09:49

Как частично скрыть элементы многоуровневого списка
 
Добрый день.

ksa 27.02.2018 10:57

Цитата:

Сообщение от ТвердолобыйЛамер
прилагаю необходимые скрины

Нужно не картинки показывать, а делать тестовый пример, на котором можно что-то показывать...

ksa 27.02.2018 11:41

ТвердолобыйЛамер, я сейчас на обед... Буду часика через два.

ТвердолобыйЛамер 27.02.2018 12:03

Цитата:

Сообщение от ksa (Сообщение 479292)
ТвердолобыйЛамер, я сейчас на обед... Буду часика через два.

Спасибо . Проблема решена. Методом проб и ошибок , я все таки пришел к желаемому результату. Сделал фильтр для потомков класса .

.filter(':not(.selected_li > )')

Еще раз спасибо за то что ответили.

ТвердолобыйЛамер 27.02.2018 13:05

Цитата:

Сообщение от ksa (Сообщение 479290)
Нужно не картинки показывать, а делать тестовый пример, на котором можно что-то показывать...

Вспомнилось! Про качество обслуживания .
- Я им и унитаз приносил , и ж.пу показывал , а все равно туалетной бумаги не подобрали. :)
:dance:

ksa 27.02.2018 14:16

Цитата:

Сообщение от ТвердолобыйЛамер
Вспомнилось! Про качество обслуживания .

Ты не обижайся. :)
Я только пришел. Тут тоже все навалилось, ОСАГО нужно было делать, скоро истекает, и сынка на секцию везти.

ksa 27.02.2018 14:38

Цитата:

Сообщение от ТвердолобыйЛамер
я все таки пришел к желаемому результату. Сделал фильтр для потомков класса .

.filter(':not(.selected_li > )')

Обычно используют такой подход

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='https://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
#script_menu > li > ul {
	display: none;
}
#script_menu > li.on > ul {
	display: block;
}
</style>
<script type='text/javascript'>
$(function(){
	$('#script_menu > li > a').click(function(){
		$('#script_menu > li.on')
		.removeClass('on')
		.children('ul').hide();
		$(this).parent()
		.addClass('on')
		.children('ul').show();
		return false;
	});
});
</script>
</head>
<body>
<ul id="script_menu">
	<li>
		<a class="selected" href="">Department1</a>
		<ul>
			<li>
				<a href="">Centrales</a>
			</li>
			<li>
				<a href="">Klaviaturos centralems</a>
			</li>
			<li>
				<a href="">Sirenos</a>
			</li>
		</ul>
	</li>
	<li>
		<a class="" href="">Department2</a>
		<ul>
			<li>
				<a href="">Konvencines sistemos</a>
			</li>
			<li>
				<a href="">Adresines sistemos</a>
			</li>
			<li>
				<a href="">Autonomines sistemos</a>
			</li>
		</ul>
	</li>
	<li>
		<a class="selected_a" href="">Department3</a>
		<ul>
			<li>
				<a href="">IP Kameros</a>
			</li>
			<li>
				<a href="">TURBO Kameros</a>
			</li>
			<li>
				<a href="">HD Kameros</a>
			</li>
		</ul>
	</li>
	<li class="on">
		<a class="" href="">Department4</a>
		<ul>
			<li>
				<a href="">12V AC/DC</a>
			</li>
			<li>
				<a href="">24V AC/DC</a>
			</li>
			<li>
				<a href="">220V AC</a>
			</li>
		</ul>
	</li>
</ul>
</body>
</html>

ТвердолобыйЛамер 27.02.2018 16:41

Цитата:

Сообщение от ksa (Сообщение 479307)
Ты не обижайся. :)
Я только пришел. Тут тоже все навалилось, ОСАГО нужно было делать, скоро истекает, и сынка на секцию везти.

Какие могут быть обиды ? Вы мне ничем не обязаны , и оказывание помощи , это желание чисто индивидуальное . Здесь никто , никому и ничего не должен :)
Я извиняюсь за свое отсутствие. Тоже на обед ходил . :) :dance:

ТвердолобыйЛамер 27.02.2018 16:47

Цитата:

Сообщение от ksa (Сообщение 479311)
Обычно используют такой подход
<style type='text/css'>
#script_menu > li > ul {
display: none;
}
#script_menu > li.on > ul {
display: block;
}
</style>
<script type='text/javascript'>
$(function(){
$('#script_menu > li > a').click(function(){
$('#script_menu > li.on')
.removeClass('on')
.children('ul').hide();
$(this).parent()
.addClass('on')
.children('ul').show();
return false;
});
});
</script>

Испробовал Ваш вариант , он к сожалению мне не подходит , так как после перезагрузки страницы меню закрывается . Попробуйте кликнуть по ссылкам в подменю , и меню закроется , а мне нужно , чтобы оно оставалось открытым. Так что я пока остановился на своем варианте.
Огромное спасибо за совет . Я его непременно разжую. Спасибо. Хорошего дня.

ksa 28.02.2018 08:33

Цитата:

Сообщение от ТвердолобыйЛамер
Попробуйте кликнуть по ссылкам в подменю , и меню закроется

Так ты еще не обрабатываешь этот клик. На него нужно повесить свой обработчик.


Часовой пояс GMT +3, время: 15:20.