JQuery событий, чтобы обнаружить, когда изменяется позиция элемента

голоса
25

Я хотел бы знать , если есть событие JQuery , что я могу использовать , чтобы определить , когда конкретный DIV в topсобственности изменилась.

Так , например, у меня есть невидимое содержание выше DIV. Когда это содержание становится видимым, DIV сдвигается вниз. Я хотел бы, чтобы захватить это событие , а затем использовать offset()функцию , чтобы получить X / Y координаты.

Задан 10/12/2008 в 04:32
источник пользователем
На других языках...                            


3 ответов

голоса
6

Самый простой ответ, что нет никаких событий в DOM для обнаружения обновлений макета.

У вас есть несколько вариантов, как я вижу это:

  1. Опрос, противный, но он может работать в зависимости от ваших требований частоты обновления.

  2. Нажмите на то, что событие вызывает невидимую DIV, чтобы изменить размер и делать все, что вам нужно сделать в обработчике


Я поправлю себя.

Я посмотрел на DOM и заметил событие DOMAttrModified и нашел JQuery Plug-In , который вы могли бы использовать , чтобы делать то , что вы хотите.

В статье упоминается, он прекрасно работает в IE и Firefox, но, кажется, есть проблемы в WebKit.

Ответил 10/12/2008 в 04:46
источник пользователем

голоса
0

Я thiiink вы должны быть в состоянии сделать:

$(document).ready( function (){
  $("#mydiv").bind("movestart", function (){ ...remember start position... });
  $("#mydiv").bind("moveend", function (){ ...calculate offsets etc... });
});
Ответил 10/12/2008 в 04:40
источник пользователем

голоса
-2
$("#someId").resize(function () {

// your code

});
Ответил 06/05/2015 в 01:30
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more