Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Видит ли пользователь элемент? (может и было, но не нашел) 
:(
    Опции темы
beaver
Дата 24.7.2007, 05:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 1.7.2007

Репутация: нет
Всего: нет



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

можно ли реализовать такое, если да, то как?
точная реализация не нужна (все равно потом перелапачу под себя), подскожите хотябы направление: функции, команды, примерный алгоритм
PM MAIL   Вверх
SelenIT
Дата 24.7.2007, 17:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


баг форума
****


Профиль
Группа: Завсегдатай
Сообщений: 3996
Регистрация: 17.10.2006
Где: Pale Blue Dot

Репутация: 49
Всего: 401



Задача интересная... Попробовал "в лоб" (учитывая только вертикальную координату):
Код

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<div id="look">test</div>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<script>
var b = document.body;
var t = document.getElementById('look');
function test() {
   if ((b.scrollTop < t.offsetTop) && ((b.scrollTop + b.clientHeight) > (t.offsetTop + t.offsetHeight))) {
      alert('Меня видно, ура!');
   }
}
onscroll = onresize = test;
</script>

В таком простейшем виде вроде работает... Правда, если искомый элемент будет где-то внутри сложной верстки (т.е. вместо одного offsetTop понадобится проход по цепочке offsetParent-ов и т.п.), боюсь, оно может стать слишком жадным до ресурсов (придется кешировать все, что можно). Но единственная альтернатива, которую я вижу - делать аналогичную проверку периодически по таймеру...


--------------------
Осторожно! Данный юзер и его посты содержат ДГМО! Противопоказано лицам с предрасположенностью к зонеризму!
PM MAIL   Вверх
beaver
Дата 24.7.2007, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 23
Регистрация: 1.7.2007

Репутация: нет
Всего: нет



спасибо, сейчас попробую

а по поводу сложной верстки - просто можно этот контрольный элемент вынести за рамки всех элементов верстки, хотя бы дивом с абсолютным позиционированием
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0424 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.