Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #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.
Ответить с цитированием
  #2 (permalink)  
Старый 13.01.2016, 12:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Открывашка 245
601t,
<!DOCTYPE HTML>

<html>

<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  .accordion .service2 > .sub-menu {display: none;}
  .accordion .service2 > a.active { background-color: #D3D3D3;}
  </style>
  <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js"></script>

 <script>
 $(function() {
 var accordion_head = $('.accordion > .service2 > a'),
     accordion_body = $('.accordion .service2 > .sub-menu');
 accordion_head.on('click', function(event) {
 event.preventDefault();
 accordion_head.not($(this).toggleClass('active')).removeClass('active')
 accordion_body.not($(this).prev().slideToggle()).slideUp('normal');
 });
});

 </script>
</head>

<body>

<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>


</body>

</html>
Ответить с цитированием
  #3 (permalink)  
Старый 13.01.2016, 15:30
Новичок на форуме
Отправить личное сообщение для 601t Посмотреть профиль Найти все сообщения от 601t
 
Регистрация: 13.01.2016
Сообщений: 2

рони, благодарствую, то, что нужно!
Ответить с цитированием
  #4 (permalink)  
Старый 13.01.2016, 15:44
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

вангую через 3 дня придёт человек и не заметит предыдущих 245 вариантов
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Связать ползунковый слайдер и аккордеон... All_ex74 Элементы интерфейса 1 31.05.2013 13:20
При вставке в поле по событию, страница съезжает вверх ingwarr jQuery 2 10.05.2012 17:37
прокрутка div на определенное количество пикселей вниз, вверх skalka jQuery 4 14.02.2011 01:47
Растянуть DIV снизу вверх Bellski jQuery 2 15.06.2010 19:53
Быстрый подъем вверх страницы Alex_K Элементы интерфейса 1 20.05.2010 23:16