Событие jQuery для обнаружения изменений позиции элемента
Я хотел бы знать, есть ли событие jQuery, которое я могу использовать, чтобы определить, когда изменилось свойство DIV top
.
Например, у меня есть невидимое содержимое выше DIV. Когда это содержимое становится видимым, DIV смещается вниз. Я хотел бы захватить это событие, а затем использовать функцию offset()
для получения координат X/Y.
Ответы
Ответ 1
Легко ответить, что в DOM нет событий для обнаружения обновлений макетов.
У вас есть несколько вариантов, как я его вижу:
-
Опрос, неприятный, но он может работать в зависимости от ваших требований к частоте обновления.
-
Нажмите на любое событие, чтобы невидимый DIV изменил размер и сделал все, что вам нужно сделать в этом обработчике
Я исправлю себя.
Я взглянул на DOM и заметил событие DOMAttrModified и нашел этот JQuery Plug-In, который вы могли бы использовать для делай то, что хочешь.
Как упоминается в статье, он отлично работает в IE и Firefox, но, похоже, имеет проблемы с WebKit.
Ответ 2
Я хочу, чтобы вы могли:
$(document).ready( function (){
$("#mydiv").bind("movestart", function (){ ...remember start position... });
$("#mydiv").bind("moveend", function (){ ...calculate offsets etc... });
});
Ответ 3
$("#someId").resize(function () {
// your code
});