Задать вопрос
@Oleg_Fursa
Юный падаван

Как сделать чтобы при клике срабатывал только один элемент, а не все сразу?

Суть вопроса: имеется несколько блоков с текстом, который частично скрывается, а при нажатии разворачивается полностью. Но проблема в том, что вместо одного, разворачиваются сразу все. Как сделать так, чтоб срабатывал только кликнутый элемент.

codepen.io/Oleg_Fursa/pen/xwgQBZ
  • Вопрос задан
  • 420 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 1
@dmitryKovalskiy
программист средней руки
$('.text-to-show').slideToggle(300);
Тут вы говорите "Разверни все элементы с классом .text-to-show". Скрипт и развернул.
Скорректируйте селектор. К примеру $(this).prev(".text-to-show").slideToggle(300);
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Screpka
$('.text-to-show').hide();
$('.open-link').click(function(){
  $('.text-to-show').slideToggle(300);
  var text = $(this).text();
  $(this).text(
  text == "[развернуть]" ? "[свернуть]" : " [развернуть]");
});

$('.text-to-show-two').hide();
$('.open-link-two').click(function(){
  $('.text-to-show-two').slideToggle(300);
  var text = $(this).text();
  $(this).text(
  text == "[развернуть]" ? "[свернуть]" : " [развернуть]");
});


Ну и соответственно классы в html изменить. ) Самое деревянное решение, так как в js я практически нечего не понимаю.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы