Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Вебмастеру (http://forum.oszone.net/forumdisplay.php?f=22)
-   -   Как определить, до какого места страница прокручена вниз? (http://forum.oszone.net/showthread.php?t=41876)

IksSafonsky 30-11-2004 19:44 276791

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

vadimiron 30-11-2004 20:59 276812

Конечно так можно, но как то сложно
Легче же будет использовать ссылки типа
HTML код:

<A HREF="document.html#form1">Форма1</A>
То есть всё форма будет выглядить примерно так:
HTML код:

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

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

IksSafonsky 01-12-2004 10:20 276927

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

mar 01-12-2004 10:48 276943

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


Время: 16:57.

Время: 16:57.
© OSzone.net 2001-