Javascript-форум (https://javascript.ru/forum/)
-   Библиотеки/Тулкиты/Фреймворки (https://javascript.ru/forum/library-toolkit-framework/)
-   -   offset - установка местоположения для невидимых элементов. (https://javascript.ru/forum/library-toolkit-framework/66893-offset-ustanovka-mestopolozheniya-dlya-nevidimykh-ehlementov.html)

ksa 17.01.2017 10:18

Цитата:

Сообщение от winch
мне просто интересно почему offset с невидимыми элементами работает так странно

Запиши это как особенность. :D

Rise 17.01.2017 10:31

winch, по какой логике) click в плагине весит делегированно на документе, твой же click весит непосредственно на элементе, поэтому в процессе всплытия события сперва сработает твой клик, а уже затем клик плагина.

winch 17.01.2017 10:44

Цитата:

Сообщение от Rise (Сообщение 441060)
winch, по какой логике) click в плагине весит делегированно на документе, твой же click весит непосредственно на элементе, поэтому в процессе всплытия события сперва сработает твой клик, а уже затем клик плагина.

клик плагина должен делегировано срабатывать на элементах с классом .FloatFormAnchor
в данном случае он не работает.

Rise 17.01.2017 12:38

winch, тогда TestUser013 отчасти был прав) если заглянуть в исходники jquery, то метод .offset() для установки значения внутри своей реализации в формуле расчета координат использует себя же для получения текущего значения, но для невидимых элементов такое значение, как указано в цитате TestUser013, будет не определено, в связи с чем всегда равно { top: 0, left: 0 }, отчего конечный результат такой формулы с участием такого псевдозначения дает такой эффект.

winch 17.01.2017 14:25

А мне казалось так: зачем ему знать своё текущее значение, если я ему говорю встать в уже определенную относительно документа позицию?
по идеи его текущее местоположения никого интересовать не должно.

ну да ладно, как посоветовал ksa, запишем это как особенность :)

Rise 17.01.2017 15:05

winch, текущее значение нужно, чтобы учитывать border, margin, padding элементов, за исключением body, из той же цитаты:
Цитата:

Note: jQuery does not support getting the offset coordinates of hidden elements or accounting for borders, margins, or padding set on the body element.

winch 17.01.2017 16:52

ясно. спасибо за разъяснение.


Часовой пояс GMT +3, время: 18:50.