PDA

Показать полную графическую версию : Как определить, до какого места страница прокручена вниз?


IksSafonsky
30-11-2004, 19:44
Не подскажете ли, как добиться вот такой штуки?
На странице имеется несколько форм, каждая со своей кнопкой SUBMIT, нажатие на которые вновь открывает эту же страницу (отослав, разумеется, некие данные). По вертикали все эти формы в экран не влезают. Как сделать так, чтобы страница после нажатия кнопки открывалась, прокрученная вниз ровно настолько, насколько она была прокручена перед нажатием кнопки?
Я понимаю, что в форме надо завести скрытый элемент, в значение которого при отправке даных записать Y-координату левого верхнего угла страницы в окне браузера, а после нового открытия страницы прокрутить ее вниз на соответствующее расстояние при помощи window.scrollTo(). НО! Как определить эту самую Y-координату? Как отследить прокрутку страницы пользователем вверх-вниз?
Вот в чем вопрос...

vadimiron
30-11-2004, 20:59
Конечно так можно, но как то сложно
Легче же будет использовать ссылки типа
<A HREF="document.html#form1">Форма1</A>
То есть всё форма будет выглядить примерно так:

<form action='#form1' method='post' name='form1'>
содержание формы: всякие инсерты и селекты
<input type='submit' value='send'>
</form>

И так для каждой формы, то есть имена форм будут form1, form2 и тд
Помоему данное решение более элегантное и кроссбраузерное

IksSafonsky
01-12-2004, 10:20
Нашел! В IE это значение хранится в document.body.scrollTop.
А в других браузерах что-то подобное есть?

mar
01-12-2004, 10:48
IksSafonsky
есть - с большей, или меньшей степенью кривизны и с различиями в зависимости от версий. Имхо лучше послушаться доброго совета vadimiron - зачем накручивать JavaScript там, где можно обойтись HTML?




© OSzone.net 2001-2012