Задать вопрос
@nadyagrishina

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

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

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

  • Вопрос задан
  • 96 просмотров
Подписаться 1 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Skillbox
    JavaScript
    3 месяца
    Далее
  • Яндекс Практикум
    Фронтенд-разработчик расширенный
    13 месяцев
    Далее
  • Академия Eduson
    Fullstack-разработчик на JavaScript
    11 месяцев
    Далее
Решения вопроса 1
0xD34F
@0xD34F Куратор тега JavaScript
Чтобы ставший видимым .faq__answer не растягивал родительский элемент и, соответственно, не перемещал лежащие ниже .faq__question, надо задать ему position: absolute. И ещё z-index побольше, чем у .faq__quest, чтобы не прятался за ними.

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

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

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

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