Обнаружение перекомпоновки или перемещения элемента HTML? - PullRequest
1 голос
/ 17 ноября 2010

Я создал виджет пользовательского интерфейса, который отображает всплывающее окно под фактическим виджетом. Он использует абсолютное позиционирование, чтобы позиционировать себя под виджетом. Меня беспокоит то, что когда макет документа немного меняется, абсолютно позиционированный элемент не находится под моим виджетом пользовательского интерфейса.

Есть ли способ определить, был ли элемент HTML перемещен или переформатирован?

Ответы [ 3 ]

2 голосов
/ 17 ноября 2010

Как насчет использования относительного позиционирования и прикрепления вашего виджета к реальному виджету? Таким образом, он всегда будет оставаться в том же положении относительно исходного виджета.

0 голосов
/ 11 декабря 2010

Я нашел приемлемое решение.

Всякий раз, когда отображается всплывающее всплывающее окно, я создаю интервал, который запускается каждые 250 мсек, снова вычисляя его позицию (если позиция родителя изменилась).Когда всплывающее окно скрывается или закрывается, я заканчиваю таймер.

0 голосов
/ 17 ноября 2010

Вы можете добавить элемент к тегу body и расположить его на странице в зависимости от положения мыши.Вот как jQuery UI Dialog и сценарии типа подсказок и тому подобное обходят проблему z-index.

что-то вроде этого, если у вас есть jQuery:

$('#clickelement').click(function(e){
     $('#yourlayer').appendTo('body').css({left: e.pageX + 'px',top: (e.pageY + 12) + 'px',zIndex:'10001'}).show();
});

#yourlayer{
    display:none;
    position:absolute;
    width:300px;
}

EDIT: исправлена ​​незначительная опечатка

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...