letehaha
@letehaha
Вникаю вo front-end

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

<div class="accordeon">
  <div class="accordeon_item">
    <h3>Lorem 1</h3>
    <p>Lorem ipsum dolor sit amet.</p>
  </div>
  <div class="accordeon_item">
    <h3>Lorem 2</h3>
    <p>Lorem ipsum dolor sit amet.</p>
  </div>
  <div class="accordeon_item">
    <h3>Lorem 3</h3>
    <p>Lorem ipsum dolor sit amet.</p>
  </div>
</div>

$(".accordeon_item p").hide().prev().click(function() {
		$(".accordeon_item p").not(this).slideUp();
		$(this).next().not(":visible").slideDown();
	});


Думал использовать .not(":first") перед .hide(), но тогда ведь первый элемент перестанет быть кликабельным, и в дальнейшем его открытые будет невозможным
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
letehaha
@letehaha Автор вопроса
Вникаю вo front-end
В общем, в конкретно этом случае легче сделать вот так
$(".accordeon_item p").not(":first").hide();
$(".accordeon_item p").prev().click(function() {
    $(".accordeon_item p").not(this).slideUp();
    $(this).next().not(":visible").slideDown();
  });
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
CrewCut
@CrewCut
Коплю силы на переезд в тропики
Чтобы изначально был видим? Через css тогда
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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