Logo Море(!) аналитической информации!
IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware
Архив форумов ЦИТФорума
Море(!) вопросов - Море(!) ответов
 
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация 
 ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Как правильно задавать вопросы

Смещение координат страницы при прокрутке в javascript ???

 
Перейти:  
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов
Предыдущая тема :: Следующая тема  
Автор Сообщение
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 пишет что
Код:
window.offsetHeight
undefined !!!

Это просто засада - надо получить координаты мыши в окне не просто относительно левого верхнего угла окна, а с учётом скроллинга (не относительно видимой области документа в окне, а всего документа в окне) - в Опере можно получить используя занчение произведённого скроллинга, а IE молчит о такой возможности...

Зато в Опере кнопки мыши в
Код:
window.event.button
молчат как на допросе...

Люди !!! Помогите !!!
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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
- действительно полная высота документа
Код:
offsetTop
- всё время равен 2,
все эти переменные при скроллинге не меняются !!!
Как быть !!! Twisted Evil
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
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 по любому.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Этот форум закрыт, вы не можете писать новые сообщения и редактировать старые.   Эта тема закрыта, вы не можете писать ответы и редактировать сообщения.    Список форумов Архив форумов ЦИТФорума -> Создание веб-сайтов Часовой пояс: GMT + 3
Страница 1 из 1

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах


Powered by phpBB © 2001, 2002 phpBB Group
Русская поддержка phpBB

 

IT-консалтинг Software Engineering Программирование СУБД Безопасность Internet Сети Операционные системы Hardware

Информация для рекламодателей PR-акции, размещение рекламы — adv@citforum.ru,
тел. +7 495 6608306, ICQ 232284597
Пресс-релизы — pr@citforum.ru
Послать комментарий
Информация для авторов
This Web server launched on February 24, 1997
Copyright © 1997-2000 CIT, © 2001-2006 CIT Forum
Внимание! Любой из материалов, опубликованных на этом сервере, не может быть воспроизведен в какой бы то ни было форме и какими бы то ни было средствами без письменного разрешения владельцев авторских прав. Подробнее...