Показать сообщение отдельно
  #1 (permalink)  
Старый 13.01.2016, 12:04
Новичок на форуме
Отправить личное сообщение для 601t Посмотреть профиль Найти все сообщения от 601t
 
Регистрация: 13.01.2016
Сообщений: 2

Аккордеон открывающийся вверх
Здравствуйте, уважаемые форумчане! Не могу решить проблему с аккордеоном, который должен раскрываться вверх. По клику на ссылку (Mail либо Mail2) выплывают сразу два sub-menu. Замена .next() на .prev() дает следующий результат: при клике на Mail выплывает Hotmail2, а при клике на Mail2 выплывает Hotmail. Версия jquery 1.7.1. При установке на выплывания вниз все работает отлично. Может кто сможет подсказать, что я делаю неправильно и направить в верное русло?

<style>
.accordion .service2 > .sub-menu {display: none;}
.accordion .service2:target > .sub-menu {display: block;}
</style>
<div class="accordion">
<div class="service2">
	<div class="sub-menu">
		<a href="#">Hotmail2</a>
	</div>
	<a href="#two">Mail2</a>
</div>
<div class="service2">
	<div class="sub-menu">
		<a href="#">Hotmail</a>
	</div>
	<a href="#two">Mail</a>
</div>		
</div>


$(document).ready(function() {
 var accordion_head = $('.accordion > .service2 > a'),
     accordion_body = $('.accordion .service2 > .sub-menu');
 accordion_head.on('click', function(event) {
  event.preventDefault();
  if ($(this).attr('class') == 'active'){
     accordion_body.slideUp('normal');
     $(this).removeClass('active');
     return false;
     }
  if ($(this).attr('class') != 'active'){
	 accordion_body.slideDown('normal');
     $(this).next().stop(true,true).slideUp('normal');
     accordion_head.removeClass('active');
     $(this).addClass('active');
     }
   });
});

Последний раз редактировалось 601t, 13.01.2016 в 12:07.
Ответить с цитированием