Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Загрузка элемента при фокусе и не только (https://javascript.ru/forum/events/13627-zagruzka-ehlementa-pri-fokuse-i-ne-tolko.html)

login18 07.12.2010 00:21

Загрузка элемента при фокусе и не только
 
Здравствуйте. Помогите пожалуйста со следующим вопросом.

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

Далее, еще короткий вопрос по теме - можно ли с помощью яваскрипта отследить координаты клика (x,y) по этому html коду, который скрипт выводит?

Заранее благодарен :thanks:

exec 07.12.2010 04:20

document.onscroll = function (event) {
	element.style.display = event.pageY > нижнийПредел && event.pageY < верхнийПредел ? "block" : "none";
};


Для IE нужно применить фикс.

ksa 07.12.2010 09:25

Цитата:

Сообщение от login18
Мне нужно, чтоб этот код выводился, только когда элемент в фокусе экрана, то есть если человек реально прокрутил страницу к тому месту где этот код.

А ты веришь что когда дверца холодильника закрыта - свет в нём гаснет? :D

login18 07.12.2010 17:20

Цитата:

Сообщение от exec (Сообщение 82623)
document.onscroll = function (event) {
	element.style.display = event.pageY > нижнийПредел && event.pageY < верхнийПредел ? "block" : "none";
};


Для IE нужно применить фикс.

Спасибо за ответ. По поводу того кода что Вы скинули - при установке данного скрипта код обновляется каждый раз при прокрутке, а этот некий html код формируется пхп скриптом, который обращается к БД. Как сделать вывод единожды без обновления?

По поводу моего второго вопроса - можно ли вообще отследить координаты клика по выводимому этого скрипта. Чтоб было более ясно - код формирует таблицы с картинками и текстом, я бы хотел, чтобы создавался некий canvas поверх всей площади выводимого содержимого и скрипт ловил координаты клика внутри этой площади. К примеру, если таблица 300х100, чтоб ловил координаты 213х56 и т.п.

Цитата:

Сообщение от ksa (Сообщение 82635)
А ты веришь что когда дверца холодильника закрыта - свет в нём гаснет? :D

Как я писал выше, код формируется скриптом и не хотелось бы лишний раз тратить ресурсы, если человек это содержимое не видит. Я более чем уверен, что средствами js это сделать можно :)

dmitriymar 09.12.2010 21:36

наверное можно)-поставить свой скролер и двигать удалять элементы какие будут выходить за пределы этой условной зоны видимости.чьи ресурсы сервера или человека? в любом случае это сожрёт больше ресов

login18 10.12.2010 18:40

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


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