@nadyagrishina

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

Надо как на скриншоте:

5ed3ca60afb76744088938.png
Пока что вот что получилось:

  • Вопрос задан
  • 85 просмотров
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Чтобы ставший видимым .faq__answer не растягивал родительский элемент и, соответственно, не перемещал лежащие ниже .faq__question, надо задать ему position: absolute. И ещё z-index побольше, чем у .faq__quest, чтобы не прятался за ними.

Скрытие вопросов при открытии ответа - те, которые полностью перекрываются, их и так не будет видно, скрывать надо только один вопрос, тот, который частично перекрывается открытым ответом. Это такой, у которого верхняя граница меньше, а нижняя больше чем верхняя граница плюс высота открытого ответа - так что перебираем вопросы, расположенные после того, у которого открыли ответ, находим подходящий. Само скрытие можно реализовать через изменение прозрачности или переключение свойства visibility - так, чтобы элемент, будучи скрытым, продолжал занимать отведённое ему место.

https://jsfiddle.net/jsogh73b/
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы