|
|
|
| Всем привет. Интересует такая задачка.
Собственно как скриптом узнать положение горизонтального скроллинга у пользователя. Нужно учитывать, что он может прокручивать не один раз, т.е. нужно при каждой прокрутке записывать положение, допустим, в скрытый инпут.
И вопрос на засыпку. Как после ,допустим, прохода по ссылке, чтобы прокрутка осуществилась автоматически основываясь на значения в инпуте?
Есть предположения как это реализовать кроссбраузерно или примеры реализации? Заранее благодарен. | |
|
|
|
|
|
|
|
для: TetRiska
(13.04.2010 в 19:48)
| | получить скроллинг:
function getBodyScrollTop()
{
return self.pageYOffset || (document.documentElement &&
document.documentElement.scrollTop) || (document.body &&
document.body.scrollTop);
}
|
ну а для установки в обратном направлении в onLoad.
Для того что бы узнать что прокрутил перехватить событие onscroll
Может нужно просто использовать закладки на странице??? | |
|
|
|
|
|
|
|
для: serenya1983
(13.04.2010 в 23:31)
| | >Может нужно просто использовать закладки на странице???
т.е. анкора? не не подойдет такой вариант.
>Для того что бы узнать что прокрутил перехватить событие onscroll
onscroll чье событие? | |
|
|
|
|
|
|
|
для: TetRiska
(14.04.2010 в 00:23)
| |
addEvent(window, 'scroll', scroll);
var scroll = function()
{
alert('клиент прокрутил окно');
}
function addEvent(elm, evType, fn, useCapture) {
if (elm.addEventListener) {
elm.addEventListener(evType, fn, useCapture);
return true;}
else if (elm.attachEvent) {
var r = elm.attachEvent('on' + evType, fn);
return r;}
else elm['on' + evType] = fn;
}
|
| |
|
|
|
|
|
|
|
для: serenya1983
(13.04.2010 в 23:31)
| | Всегда удивлялся - как быстро ГЛУПОСТИ распространяются в русском сегменте интернета.
Один какой-то неизвестный дурак когда-то написал document.documentElement.scrollTop.
И за очень короткое время тысячи и десятки тысяч других дураков эту БЕССМЫСЛЕННУЮ конструкцию переписывают и вставляют в свои скрипты.
А ведь во всех браузерах и при любом положении вертикального скроллбара это свойство ВСЕГДА РАВНО НУЛЮ.
Удостоверьтесь:
<html>
<head>
<style>html {height: 100%}</style>
</head>
<body onclick="alert (document.documentElement.scrollTop)">
<table style="height: 300%"><tr><td>1</td></tr></table>
</body>
</html>
|
Ещё один (но уже конкретный) дурак когда-то написал, что "фреймы - это плохо".
И десятки тысяч других дураков (которые про само существование фреймов узнали только вчера) сегодня уже с умным видом утверждают, что "фреймы - это плохо".
...
Умные вещи, наоборот, никем и никогда не распространяются.
Вот такой вот парадокс рунета:-))) | |
|
|
|
|
|
|
|
для: АЯ
(14.04.2010 в 12:19)
| | getBodyScrollTop() - у меня возвращает на сколько прокручен документ (в любом браузере) и проблем с этой функцией нет!!! | |
|
|
|
|
|
|
|
для: serenya1983
(14.04.2010 в 13:26)
| | Разумеется, что "проблем нет".
Потому как внутри этой вашей функции есть ВСЕГДА РАБОТАЮЩЕЕ document.body.scrollTop
А в месте с этим есть НИКОГДА НЕ работающее бессмысленное document.documentElement.scrollTop.
И вам совершенно неинтересно - НА ХЕРА тупо вставлять в вашу функцию НИКОМУ НЕ НУЖНУЮ конструкцию... | |
|
|
|
|
|
|
|
для: АЯ
(14.04.2010 в 13:31)
| | насколько я понял и опробовав, document.body.scrollTop работает покрайней мере в 3-х браузерах. собственно как прокрутить автоматически страницу зная предыдущее положение? | |
|
|
|
|
автор: ййй (15.04.2010 в 05:00) |
|
|
для: TetRiska
(15.04.2010 в 01:23)
| | По какому событию "прокрутить в предыдущее положение" надо? | |
|
|
|
|
|
|
|
|
для: mihdan
(15.04.2010 в 12:44)
| | всем спасибо разобрался! | |
|
|
|