Size: a a a

2021 October 14

PE

Polina Emelyanova in FrontCoder
Только дисплей не тоглается... Смотрю..
источник

PE

Polina Emelyanova in FrontCoder
🙏

Возьму первый вариант и постараюсь его допилить...

Он ПРЕКРАСЕН!!!!!!!
источник

М

Максим in FrontCoder
я понял в чем была проблема
источник

М

Максим in FrontCoder
const modelsContainer = document.querySelector('.models__list')
const modelsItems = modelsContainer.querySelectorAll('.models__item')
modelsContainer.addEventListener('click', (e) => {
 if(e.target.classList.contains('js-close')) {
   const item = e.target.closest('.models__item')
   modelsItems.forEach(modalItem => modalItem != item && modalItem.classList.remove('open'))
   item.classList.toggle('open')
 }
})
источник

М

Максим in FrontCoder
вот рабочий, только в цсс display: block; вот сюда
.models__item.open .models__wrapper {
 padding: 0.5em 2em 2em 5em;
 display: block;
}
источник

PE

Polina Emelyanova in FrontCoder
источник

PE

Polina Emelyanova in FrontCoder
источник

PE

Polina Emelyanova in FrontCoder
Давай кошелек - задоначу!
источник

М

Максим in FrontCoder
Но тут, опять же, без анимации(
источник

PE

Polina Emelyanova in FrontCoder
Заанимировать можно
источник

PE

Polina Emelyanova in FrontCoder
Например по классу менять высоту.Проблема в том, что изменение высоты через КСС - дает неприятный прыжок контента.
источник

PE

Polina Emelyanova in FrontCoder
Поэтому, предпочитают через опасити выходить... Я еще не видела гладкой анимации высот, даже через max-height.
Только с js
источник

М

Максим in FrontCoder
Ага, помню через макс-хейт что-то, такое, сейчас посмотрю
источник

PE

Polina Emelyanova in FrontCoder
У меня есть заготовка для него...
Тебе не понравиться.)))
источник

PE

Polina Emelyanova in FrontCoder
Ща.
источник

PE

Polina Emelyanova in FrontCoder
источник

PE

Polina Emelyanova in FrontCoder
Но скорее всего... Я просто не могу ухватить правильный интервал анимации...
источник

PE

Polina Emelyanova in FrontCoder
Чтобы фон дновременно с высотой уходил.(
источник

М

Максим in FrontCoder
const modelsContainer = document.querySelector('.models__list')
const modelsItems = modelsContainer.querySelectorAll('.models__item')
modelsContainer.addEventListener('click', (e) => {
 if(e.target.classList.contains('js-close')) {
   const item = e.target.closest('.models__item')
   const modalWrapper = item.querySelector('.models__wrapper')
   console.log(modalWrapper.scrollHeight);
   modelsItems.forEach(modalItem => modalItem != item && modalItem.classList.remove('open'))
   item.classList.toggle('open')
   modalWrapper.style.maxHeight = item.classList.contains('open')
   ? `${modalWrapper.scrollHeight}px`
   : '0'
 }
})
источник

М

Максим in FrontCoder
у меня вот так получилось, тоже, правда дергает. В цсс нужно убрать дисплеи с .models__wrapper и поставить макс-хейт 0
источник