Javascript.RU

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

Реализация аккордиона
Нужно реализовать следующее: При нажатии на заголовок открывается его содержимое, а вот другие элементы наоборот закрываются. При этом у заголовка меняется бэкграунд (с плюса на минус).
Знаю как реализовать через toggle() , но как я понимаю во второй версии JQ он не работает.
В общем прошу помощи
Исходный код
http://jsbin.com/xihalu/1/
Ответить с цитированием
  #2 (permalink)  
Старый 06.03.2015, 20:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

pensill,
помощь то в чём нужна?
Ответить с цитированием
  #3 (permalink)  
Старый 06.03.2015, 20:48
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

pensill,
может тут чего пригодится
Выделение при клике на элемент
Ответить с цитированием
  #4 (permalink)  
Старый 06.03.2015, 20:55
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

Вот ссылка с кодом - http://jsbin.com/xihalu/1/edit?html,css,js,output
Сейчас у меня реализовано все что надо. Кроме того, чтобы при клике по самому элементу, под ним убирался текст и у него менялся бэкграунд с минуса на плюс
Ответить с цитированием
  #5 (permalink)  
Старый 06.03.2015, 21:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

pensill,
$('.accordion__h2').on('click', function(){
    $('.accordion__h2').not(this).removeClass('accordion__h2--minus');
    $('.accordion__text').not($(this).next()).fadeOut(400);
    $(this).next().slideToggle(800);
    $(this).toggleClass('accordion__h2--minus');

  });
Ответить с цитированием
  #6 (permalink)  
Старый 07.03.2015, 09:52
Интересующийся
Отправить личное сообщение для pensill Посмотреть профиль Найти все сообщения от pensill
 
Регистрация: 06.03.2015
Сообщений: 19

спасибо. not(this) - то что надо. А вообще есть замена toggle() ? Чтобы при одном щелчке мыши происходило одно, и при втором щелке - другое?
Ответить с цитированием
  #7 (permalink)  
Старый 07.03.2015, 10:19
hhh hhh вне форума
Профессор
Отправить личное сообщение для hhh Посмотреть профиль Найти все сообщения от hhh
 
Регистрация: 19.11.2013
Сообщений: 150

pensill,
ага, есть условие с флагом
<script src="http://code.jquery.com/jquery-latest.js"></script>

<button>button</button>
<p>Lorem ipsum dolor sit amet!</p>

<script>
var flag = true;

$('button').click(function (){
  if (flag) {
    $('button + p').hide();
    flag = 0;
  } else {
    $('button + p').show();
    flag = 1;
  }
});
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 07.03.2015, 11:06
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от pensill
есть замена toggle()
неразбериха с toggle
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Реализация игрового поля для игры "Точки" last-art Events/DOM/Window 7 22.04.2012 03:18
Реализация функции include BreatheInTheVoid Общие вопросы Javascript 4 23.09.2010 14:23
реализация хитрого банера с помощью js seleve Элементы интерфейса 6 17.08.2010 15:08
Реализация "Удалить"..."Восстановить" как вконтакте.ру Darooma2 AJAX и COMET 10 26.05.2010 13:41
Реализация слайдера Vitaly jQuery 15 27.08.2009 23:27