Javascript-форум (https://javascript.ru/forum/)
-   Ваши сайты и скрипты (https://javascript.ru/forum/project/)
-   -   Помогите допилить скрипт свертывания и развертывания (https://javascript.ru/forum/project/41245-pomogite-dopilit-skript-svertyvaniya-i-razvertyvaniya.html)

razorg1991 05.09.2013 16:14

Помогите допилить скрипт свертывания и развертывания
 
Код работает пока только на развертывание при клике, но не свертывается при клике

$ID = str_replace('.', '_', substr(microtime(true), -8, 8));
$js="
//<![CDATA[
jQuery(document).ready(function() {
		jQuery('#VMmenu".$ID." li.VmClose ul').hide();
		jQuery('#VMmenu".$ID." li .VmArrowdown').click(
		function() {

			if (jQuery(this).parent().next('ul').is(':hidden')) {
				jQuery('#VMmenu".$ID." ul:visible').delay(500).slideUp(500,'linear').parents('li').addClass('VmClose').removeClass('VmOpen');
				jQuery(this).parent().next('ul').slideDown(500,'linear');
				jQuery(this).parents('li').addClass('VmOpen').removeClass('VmClose');
			}
		});
	});
//]]>
" ;

animhotep 05.09.2013 17:55

покажите html, есть подозрение что код можно заменить несколькими строчками

razorg1991 06.09.2013 13:16

<ul id="VMmenu911_0234" class="VMmenu">
<li class="VmOpen">
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu">Пленки в розницу</a>
<span class="VmArrowdown"> </span>
</div>
<ul class="menu">
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/antigravijnaya-zashchita">Антигравийная защита</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-karbon">Под карбон</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/matovye">Матовые</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/tonirovka-dlya-far">Тонировка для фар</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-khrom">Под хром</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-kozhu">Под кожу</a>
</div>
</li>
<li>
<div>
<a href="/gigaspace/index.php/plenki-v-roznitsu/s-effektami">С эффектами</a>
</div>
</li>
</ul>
</li>
<li class="VmClose">
<div>
<a href="/gigaspace/index.php/plenki-optom">Пленки оптом</a>
</div>
</li>
<li class="VmClose">
<div>
<a href="/gigaspace/index.php/spojlery">Спойлеры</a>
</div>
</li>
<li class="VmClose">
<div>
<a href="/gigaspace/index.php/uslugi-oklejka">Услуги(оклейка)</a>
</div>
</li>
</ul>

ksa 06.09.2013 13:46

Цитата:

Сообщение от animhotep
есть подозрение что код можно заменить несколькими строчками

Так и есть! :D
Вариант в 1 строчку...

<!DOCTYPE html>
<html>
<head>
<script src="http://code.jquery.com/jquery-latest.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
ul ul {
	display: none;
}
.VmArrowdown {
	cursor: pointer;
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 2px;
	border: 1px solid;
}
</style>
<script type="text/javascript">
$(function (){
	$('.VmArrowdown').click(function (){
		$(this).parent().parent().children('ul').toggle();
	});
});
</script>
</head>
<body>
<ul id="VMmenu911_0234" class="VMmenu">
	<li class="VmOpen">
		<div>
			<a href="/gigaspace/index.php/plenki-v-roznitsu">Пленки в розницу</a>
			<span class="VmArrowdown">&darr;</span>
		</div>
		<ul class="menu">
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/antigravijnaya-zashchita">Антигравийная защита</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-karbon">Под карбон</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/matovye">Матовые</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/tonirovka-dlya-far">Тонировка для фар</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-khrom">Под хром</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-kozhu">Под кожу</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/s-effektami">С эффектами</a>
				</div>
			</li>
		</ul>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/plenki-optom">Пленки оптом</a>
		</div>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/spojlery">Спойлеры</a>
		</div>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/uslugi-oklejka">Услуги(оклейка)</a>
		</div>
	</li>
</ul>
</body>
</html>

razorg1991 06.09.2013 14:15

скажите, а toggle поддерживается версией jqeury младше 1.7 ?

ksa 06.09.2013 16:44

Цитата:

Сообщение от razorg1991
а toggle поддерживается версией jqeury младше 1.7 ?

Т.е. даже попробовать это ты сам не собираешся? :D

razorg1991 06.09.2013 20:53

Да я просто в это время в просторах интернета нарыл несколько другое решение))) Попробовать - попробую обязательно))) Спросил потому, что вроде toggle не работает на на версии младше 1.7

BETEPAH 06.09.2013 21:54

Цитата:

Сообщение от razorg1991
Спросил потому, что вроде toggle не работает на на версии младше 1.7

Почему это вдруг?
<!DOCTYPE html>
<html>
<head><meta charset="utf-8" />
<script src="http://code.jquery.com/jquery-1.2.min.js"></script>
<!--
<link rel="stylesheet" type="text/css" href="tmp.css" />
-->
<style type="text/css">
ul ul {
	display: none;
}
.VmArrowdown {
	cursor: pointer;
	padding-left: 5px;
	padding-right: 5px;
	padding-bottom: 2px;
	border: 1px solid;
}
</style>
<script type="text/javascript">
$(function (){
	$('.VmArrowdown').click(function (){
		$(this).parent().parent().children('ul').toggle();
	});
});
</script>
</head>
<body>
<ul id="VMmenu911_0234" class="VMmenu">
	<li class="VmOpen">
		<div>
			<a href="/gigaspace/index.php/plenki-v-roznitsu">Пленки в розницу</a>
			<span class="VmArrowdown">&darr;</span>
		</div>
		<ul class="menu">
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/antigravijnaya-zashchita">Антигравийная защита</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-karbon">Под карбон</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/matovye">Матовые</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/tonirovka-dlya-far">Тонировка для фар</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-khrom">Под хром</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/pod-kozhu">Под кожу</a>
				</div>
			</li>
			<li>
				<div>
					<a href="/gigaspace/index.php/plenki-v-roznitsu/s-effektami">С эффектами</a>
				</div>
			</li>
		</ul>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/plenki-optom">Пленки оптом</a>
		</div>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/spojlery">Спойлеры</a>
		</div>
	</li>
	<li class="VmClose">
		<div>
			<a href="/gigaspace/index.php/uslugi-oklejka">Услуги(оклейка)</a>
		</div>
	</li>
</ul>
</body>
</html>


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