Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Denitz2
Зарегистрирован: 21.12.2005 Сообщения: 6
|
Добавлено: Ср Дек 21 2005 13:27 Заголовок сообщения: Смещение координат страницы при прокрутке в javascript ??? |
|
|
Как отследить расстояние по вертикали между текущей позицией окна и верхней границей документа? При прокручивании содержимого окна вниз значение этого свойства увеличивается, вверх - уменьшается.
window.pageYOffset - держит только Opera
как это отследить в IE?
Может ещё кто знает как Opera обрабатывает нажатие кнопки мыши?
window.event.button не работает ... |
|
Вернуться к началу |
|
|
dipsy
Зарегистрирован: 26.01.2005 Сообщения: 424 Откуда: Н. Новгород
|
Добавлено: Чт Дек 22 2005 14:44 Заголовок сообщения: |
|
|
а стандартное onClick почему не подходит? |
|
Вернуться к началу |
|
|
vic_mail
Зарегистрирован: 22.12.2005 Сообщения: 6
|
Добавлено: Чт Дек 22 2005 17:45 Заголовок сообщения: |
|
|
а offsetHeight не сработает |
|
Вернуться к началу |
|
|
Denitz2
Зарегистрирован: 21.12.2005 Сообщения: 6
|
Добавлено: Пт Дек 23 2005 13:32 Заголовок сообщения: |
|
|
dipsy, onclick сработает, но надо отслеживать конкретные кнопки мыши, статус их нажатия/ненажатия, а не простой click...
vic_mail, IE пишет что undefined !!!
Это просто засада - надо получить координаты мыши в окне не просто относительно левого верхнего угла окна, а с учётом скроллинга (не относительно видимой области документа в окне, а всего документа в окне) - в Опере можно получить используя занчение произведённого скроллинга, а IE молчит о такой возможности...
Зато в Опере кнопки мыши в молчат как на допросе...
Люди !!! Помогите !!! |
|
Вернуться к началу |
|
|
vic_mail
Зарегистрирован: 22.12.2005 Сообщения: 6
|
Добавлено: Пт Дек 23 2005 16:44 Заголовок сообщения: |
|
|
document.body.offsetHeight - но "видимая" высота (поторопился я)
offsetTop - абсолютное расстояние от "верха", правда от "верха" "родителя", если родитель сам внутри чего-то то нужно еще и сним разбираться |
|
Вернуться к началу |
|
|
Denitz2
Зарегистрирован: 21.12.2005 Сообщения: 6
|
Добавлено: Пт Дек 23 2005 17:34 Заголовок сообщения: |
|
|
Код: | document.body.offsetHeight | - действительно полная высота документа
- всё время равен 2,
все эти переменные при скроллинге не меняются !!!
Как быть !!! |
|
Вернуться к началу |
|
|
vic_mail
Зарегистрирован: 22.12.2005 Сообщения: 6
|
Добавлено: Пт Дек 23 2005 22:11 Заголовок сообщения: |
|
|
Так пойдет? или я опять не понял?
<script>
function myclick(e){
T = document.body.scrollTop
alert('absY='+(T+event.y)+' viewY='+event.y)
}
document.onclick=myclick;
</script>
<body>
<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>1<br>1<br>1<br>1<br>1<br>1
<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>1<br>1<br>1<br>1<br>1<br>1
<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>1<br>1<br>1<br>1<br>1<br>1
<br>1<br>2<br>3<br>4<br>5<br>6<br>7<br>8<br>9<br>1<br>1<br>1<br>1<br>1<br>1
</body> |
|
Вернуться к началу |
|
|
Denitz2
Зарегистрирован: 21.12.2005 Сообщения: 6
|
Добавлено: Пн Дек 26 2005 11:29 Заголовок сообщения: |
|
|
я немного изменил - работает и под Оперой и в IE:
Код: | <script>
function myclick() {
alert('absY='+(document.body.scrollTop+window.event.y)+' viewY='+window.event.y);
}
</script>
<body>
<img src="" width="100" height="1200" onClick="myclick();">
</body> |
Спасибо !!!
Но в моём скрипте почему-то document.body.scrollToр всегда равно 0 в IE - у меня изображение в виде фона для <div> c заданным z-index и position:absolute. Изображение высокое - есть вертикальная прокрутка, но scrollTop = 0. Может это из-за div'а? |
|
Вернуться к началу |
|
|
Denitz2
Зарегистрирован: 21.12.2005 Сообщения: 6
|
Добавлено: Пн Дек 26 2005 13:00 Заголовок сообщения: |
|
|
ВСЁ ЗАРАБОТАЛО !!!
Надо было просто из Код: | <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> | убрать Код: | "http://www.w3.org/TR/html4/loose.dtd" | !!! Не знаю почему, правда, но уже не суть важно...
Остались только кнопки мыши под Оперу - window.event.button чего-то равно 0 по любому. |
|
Вернуться к началу |
|
|
|