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

Внутристраничное меню jQuery
Здравствуйте господа, столкнулся с проблемой на которую не представляю решения

Постараюсь понятно изложить:

Есть меню

<menu id="nav4">
			<li id = "ksik"><a title="Компьютерные системы и комплексы">КCИК</a>
			<li id = "ks"><a title="Компьютерные сети">КС</a>
			<li id = "pks"><a title="Программирование в компьютерных системах">ПКС</a>
			<li id = "pi"><a title="Прикладная информатика">ПИ</a>
			<li id = "eby"><a title="Экономика и бухгалтерский учет">ЭБУ</a>
			<li id = "atpp"><a title="Автоматизация технологических процессов и производств">АТПП</a>
			<li id = "mts"><a title="Многоканальные телекоммуникационные системы">МТС</a>
			<li id = "sssk"><a title="Сети связи и системы коммутации">СССК</a>
			<li id = "ibts"><a title="Информационная безопасность телекоммуникационных систем">ИБТС</a>			
		</menu>


Это горизантальное меню, и переход происходит внутри страницы функцией slideDown. Оно выдвигает определенный div блок, а содержимое его берется из файла rate.php, переменная в этом блоке береться ajax post запросом по клику.

Проблема в том, что сейчас оно работает достаточно глупо, т.е. по клику на объект меню происходит слайддаун, а при клике на другой объект меню происходит слайдап. Так быть не должно. Т.е. по клику на другой объект меню предыдущее должно слайдится вверх, а новое выдвигаться с новыми данными. А еще хотелось бы закрепить по клику класс, чтоб видно было какое именно сейчас активно. Вот код jQuery

$(document).ready(function() {
	$("#div5").hide(); 
	var flagMenu=false;
	var men = undefined;
	$("#ksik").click(function() {				
		$("#ks a, #pks a, #pi a, #eby a, #atpp a, #mts a, #sssk a, #ibts a").removeClass('act');
	$("#ksik a").toggleClass('act');

		var men = "po";	
		
			if(flagMenu==true) {
				$("#div5").slideUp(500);
				flagMenu=!flagMenu;
			} else {
				$("#div5").slideDown(500);
				flagMenu=!flagMenu;
			}
				
				$.post("/scripts/rate.php", {men: men},
					function(html) {
					$("#div5").empty();
					$("#div5").append(html);
					}				
				);		
	});	
});


Это код одной из кнопок, на каждой стоит такой-же.

Это очень нерационально, выполняется лоб в лоб, и не работает правильно к тому-же.

Очень прошу помощи у вас, больше даже и нет к кому обратиться

Спасибо!
Ответить с цитированием