Показать сообщение отдельно
  #7 (permalink)  
Старый 28.08.2014, 16:36
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,495

Сообщение от TimohaP Посмотреть сообщение
а если таких окон десятки?
И? offsetParet ссылается на ближайшего позиционированного(не static) родителя. В случае с модальным окном - это обычно модальное окно и есть, если конечно не злоупотреблять с позиционированием в вёрстке.

Но на самом деле ваш подход изначльно не верен. При праильном подходе вместе с окном в DOM создаётся привязанный javascript объект, хранящий все необходимые данные этого конкретного окна. Никаких путешествий через родителей и детей не требуется.
Пример:
<body>
<input type="text" value="Text text text text">
<input type="button" value="new" onclick="new Modal(previousElementSibling.value)">
<script>
function Modal(text){
  var modal = document.createElement('div');
      modal.innerHTML = text;
  var close = document.createElement('button');
      close.innerHTML = 'X';
      close.onclick = function(){
        modal.parentNode.removeChild(modal)
      }
  modal.appendChild(close);
  document.body.appendChild(modal);
}
</script></body>
__________________
29375, 35

Последний раз редактировалось Aetae, 28.08.2014 в 16:41.
Ответить с цитированием