Показать сообщение отдельно
  #3 (permalink)  
Старый 24.03.2020, 10:35
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,745

Не знаю, правильно ли я понимаю вашу задачу.
Но мне она представляется так
Есть некий контейнер , в котором содержатся блоки (12 шт), которые на экране перекрываются. И при клике на блок (или любой любой элемент внутри этого блока) этот блок должен оказаться в самом верху так, что бы его ничего не перекрывало.
<div id='cont'>
   <div class="lightbox">
      ......
   </div>

   <div class="lightbox">
      ......
   </div>
   ......
   <div class="lightbox">
      ......
   </div>
</div>

Правильно?

Если так, то не нужны никакие z-index.
Просто переставляем вверх блок, на который кликнули

const cont = document.getElementById('cont')
cont.querySelectorAll('.lightbox').forEach (dlb => dlb.addEventListener('click', () => cont.appendChild(dlb) ))


Можно и немного по-другому

const cont = document.getElementById('cont')
cont.addEventListener('click', (ev) => {
   const dbl = ev.target.closest('.lightbox')
   if (dbl) cont.appendChild(dlb)
})

Последний раз редактировалось voraa, 24.03.2020 в 10:53.
Ответить с цитированием