Раскрытие при клике

151
07 мая 2018, 23:28
jQuery(function() {
  var c = $(".content").size();
  x = 5;
  $('.content:lt(' + x + ')').fadeIn();
  $('.show-hide').click(function(e) {
    e.preventDefault();
    x = (x + 5 <= c) ? x + 999 : c;
    $('.content:lt(' + x + ')').slideDown(500);
    $('.content:lt(' + x + ')').show();
    $('.show-hide').hide();
  });
}); 

В общем, сейчас работает так, но если на странице будет несколько (.content) как быть?
Получается сейчас так, что отображает один (.content) а все остальные скрыты вообще, но при нажатии на (.show-hide) раскрываются сразу все.
Хотелось бы сделать так, чтобы работало все по отдельности и на странице можно было размещать несколько .content

Answer 1

Вариант решения проблемы:

html:

<div class='closed' onclick='showCloseItem(this)'>
   asd
<div class='hiddenItem'>  hiddenItem 1</div>
</div>
<div class='closed' onclick='showCloseItem(this)'>
   asd
   <div class='hiddenItem'>  hiddenItem 2</div>
</div>
<div class='closed' onclick='showCloseItem(this)'>
   asd
   <div class='hiddenItem'>  hiddenItem 3</div>
</div>

css:

.closed .hiddenItem {
  display: none;
}
.opened .hiddenItem {
  display: block;
}

js:

function showCloseItem(item) {
        $(item).toggleClass('closed', 'opened');
};
READ ALSO
Какие вопросы задают Junior Font-end? [требует правки]

Какие вопросы задают Junior Font-end? [требует правки]

подскажите какие могут задавать вопросы Junior Front-end(у) на собеседовании ?

159
Отображение курсора в поле телефона

Отображение курсора в поле телефона

Использую обычный плагин jquerymaskedinput

158
Свойство Ptototype

Свойство Ptototype

Есть вот такой код

162
Vue.js передача в props вычисляемого свойства computed

Vue.js передача в props вычисляемого свойства computed

Есть вот такой элемент в style которого я передаю динамическую длину зависящую от длины массива с элементами

168