Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как узнать находится ли DOM элемент в области видимости? (https://javascript.ru/forum/misc/15973-kak-uznat-nakhoditsya-li-dom-ehlement-v-oblasti-vidimosti.html)

phgrey 21.03.2011 19:59

Как узнать находится ли DOM элемент в области видимости?
 
Возникла нужда проверить - виден ли DOM элемент пользователю? Доскролил ли пользователь уже до него или нет.
При этом ложка дегтя - элемент находится в iframe, а скролл у родительского окна. Домены, естественно, разные.

Вообще-то это попытка реализации endless scroll в хреновых условиях )

poorking 21.03.2011 22:04

Я думаю что нужно узнать расстояние от вашего элемента до верха iframe (пусть elemTop), и потом сравнивать длину скролла этого родительского окна с расстоянием от его верха до iframe + elemTop - родительское_окно.clientHeight, я наверно ошибся что с чем складывать :) так в голове прикинул, но тут простая математика

phgrey 21.03.2011 22:38

В таком случае мне бы не помешало еще определить высоту окна. А я не представлюя как это сделать - и window.parent и top закрыты от меня - напомню "Домены, естественно, разные."

poorking 21.03.2011 22:51

Вы из iframe хотите узнать доскроллил ли пользователь? мне кажется лучше узнавать это из этого родительского окна, все все связано со скроллом и положением iframe будет доступно. А далее, я наверно снова скажу чушь, (мало знаком с фреймами) можно ведь получить ссылку на iframe и его DOM, а там также узнать положение нужного элемента относительно верха iframe?

phgrey 22.03.2011 19:05

Цитата:

Сообщение от poorking
мне кажется лучше узнавать это из этого родительского окна

100% верно, только нет такой возможности. Это iFrame-приложение для Вконтакте.
Мне нужно реализовать endless scroll без скрола внутри iFrame. Для этого и заморачиваюсь.


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