Показать сообщение отдельно
  #1 (permalink)  
Старый 08.08.2009, 19:19
Новичок на форуме
Отправить личное сообщение для Wirty Посмотреть профиль Найти все сообщения от Wirty
 
Регистрация: 08.08.2009
Сообщений: 4

Добавить активный элемент
Делаю меню для сайта такой конструкции:
<div id="Menu">
			<ul>
				<li class="button1"><a href="#">Кнопка</a></li>
				<li class="button2"><a href="#">Кнопка</a></li>
				<li class="button3"><a href="#">Кнопка</a></li>
				<li class="button4"><a href="#">Кнопка</a></li>
				<li class="button5"><a href="#">Кнопка</a></li>
			</ul>
</div>

Дальше пишу скрипт:
var arr = [ "button1 > a", "button2 > a", "button3 > a", "button4 > a", "button5 > a" ];
	jQuery.each(arr, function(i) {
	  $("." + arr[i]).mouseenter(function () {
	  	$("." + arr[i]).stop();
		$("." + arr[i]).animate({width:"240px"}, 500);
    });
	  $("." + arr[i]).mouseleave(function () {
	  	$("." + arr[i]).stop();
	 	$("." + arr[i]).animate({width:"45px"}, 500);
    });
	  $("." + arr[i]).click(function () {
	 	$("." + arr[i]).css("width","240px");
		$("." + arr[i]).mouseleave(function () {
	 	$("." + arr[i]).stop();});
    });
});

Эффекты работают как надо, но только не знаю каким образом добавить активный элемент. Например, если посетитель находиться на главной, активный элемент (в данном случае имеющий width:240px) button1 > a, на второй странице button2 > a и т.д.
Пробовал делать так:
$("." + arr[<?php проверка url echo int; ?>]).css("width","240px");

Но при наведении на другие элементы он не закрывался и следовательно анимация работала не в ту сторону, меню разъезжалось.
Есть подобный скрипт на MooTools:
ImageMenu
Ответить с цитированием