Полезная информация

Список ответов на каверзные вопросы можно получить в FAQ-разделе форума.

№127-07-2007 11:18:33

Dmitry Zhukov
Участник
 
Группа: Members
Зарегистрирован: 27-07-2007
Сообщений: 4
UA: Firefox 2.0

Переход в нужное место страницы

Добрый день!
Возможно, эта тема много раз обсуждалась, но в форуму не смог ничего найти.
Задача такая:
Имеется 2 div на странице.
оба имеют position:absolute, left:0px, right:0px
один div содержит форму, и видим при начале загрузки, а второй не видим.
Когда пользователь заполнил данные AJAX-om данные отправляются на сервер, приходит результат расчета,  и результаты помещаются во второй div, он становится видимым, а первый скрывается.
Форма достаточно длинная, поэтому приходится использовать scroll. А вопрос в том, что нужно вернуться на верх страницы в момент скрытия первого div и показа второго.
Ничего лучше, чем сделать пустой якорь я не придумал. Но когда выполняю код
document.getElementById('tops').click();
для элемента
<a href='#' id='tops' name='tops'></a>

то в Explorer-e все нормально, страница прокручивается и все помещается на свои места.
А в firefox - нет. вылетает ошибка, что не существует метода click()

Как поправить?
Может сможете предложить более изящный способ навигаци по странице (т.е. программным методом прокручивать содержимое страницы до заданной точки)

Заранее всем спасибо!

Отсутствует

 

№227-07-2007 11:47:59

Snitter
Участник
 
Группа: Members
Зарегистрирован: 14-07-2007
Сообщений: 64
UA: Minefield 3.0

Re: Переход в нужное место страницы

Dmitry Zhukov
Ну а если тупо назначить второму div id="top" и оформить ссылку как <a href="#top"></a>. Не пойдёт? :)

Отсутствует

 

№327-07-2007 11:52:21

Dmitry Zhukov
Участник
 
Группа: Members
Зарегистрирован: 27-07-2007
Сообщений: 4
UA: Firefox 2.0

Re: Переход в нужное место страницы

Вопрос в том, что не срабатывает вызов события click();
Firefox говорит, что не знает такого метода для элемента <a></a>

хотя, может, я не до конца понял, что именно Вы имели в виду.

Отсутствует

 

№427-07-2007 12:07:56

Snitter
Участник
 
Группа: Members
Зарегистрирован: 14-07-2007
Сообщений: 64
UA: Minefield 3.0

Re: Переход в нужное место страницы

А здесь не нужен click(), и вообще Javascript не нужен. Фишка в чём - если элементу на странице назначен какой-то id, то при клике на ссылку, содержащую #этот_id, браузер прокрутит страницу до этого элемента.

Для примера нажми сюда - перейдёшь к верху страницы. :)

Отсутствует

 

№527-07-2007 12:21:47

Dmitry Zhukov
Участник
 
Группа: Members
Зарегистрирован: 27-07-2007
Сообщений: 4
UA: Firefox 2.0

Re: Переход в нужное место страницы

Snitter пишет

А здесь не нужен click(), и вообще Javascript не нужен. Фишка в чём - если элементу на странице назначен какой-то id, то при клике на ссылку, содержащую #этот_id, браузер прокрутит страницу до этого элемента.

Для примера нажми сюда - перейдёшь к верху страницы. :)

:) Вы меня не поняли.
Пользователь заполняет форму, прокручивает страницу, например, до самого низа. Форма пошла на сервер без перезгрузки основоной страницы, данные подгрузились и показались в div, который position:absolute, top:0px, left:0px
теперь нужно ПРОГРАММНО перекрутить страницу в самый верх. и вопрос как это сделать ПРОГРАММНО???
понятно, что кликнув по якорю, пользователь пойдет куда надо, но нужно, чтобы ПРОГРАММА кликнула.
Описанный мной метод даже в OPERA работает, может глюк какой в 2.0.0.4 Firefox....

Если надо, могу код страницы дать...

Отсутствует

 

№627-07-2007 12:30:39

Lynn
Кофеман
 
Группа: Members
Откуда: Россия
Зарегистрирован: 16-02-2005
Сообщений: 1721
UA: Firefox 2.0
Веб-сайт

Re: Переход в нужное место страницы

Выделить код

Код:

window.scrollTo(0,0)

Isn't it ironic... don't you think? — Alanis Morissette

Отсутствует

 

№727-07-2007 12:38:19

Dmitry Zhukov
Участник
 
Группа: Members
Зарегистрирован: 27-07-2007
Сообщений: 4
UA: Firefox 2.0

Re: Переход в нужное место страницы

Спасибо, то что надо.

Можете подсказать, где почитать про программный вызов событий?

Отсутствует

 

№827-07-2007 12:41:59

Infocatcher
Not found
 
Группа: Extensions
Зарегистрирован: 24-05-2007
Сообщений: 4339
UA: Firefox 2.0

Re: Переход в нужное место страницы

Еще, я думаю, можно сделать кнопку с
onclick="document.getElementById('id').focus();"
(не проверял...)

Или сделать ссылку
javascript: window.document.getElementById('search-input').focus();

Последняя ссылка должна кидать к поиску вверху этой страницы.

Или еще (тоже ссылка):
javascript: scroll(0, 0);

Отредактировано Infocatcher (27-07-2007 12:46:31)


Прошлое – это локомотив, который тянет за собой будущее. Бывает, что это прошлое вдобавок чужое. Ты едешь спиной вперед и видишь только то, что уже исчезло. А чтобы сойти с поезда, нужен билет. Ты держишь его в руках. Но кому ты его предъявишь?
Виктор Пелевин. Желтая стрела

Отсутствует

 

№928-07-2007 01:26:54

Sergeys
Administrator
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 23-01-2005
Сообщений: 14008
UA: Minefield 3.0
Веб-сайт

Re: Переход в нужное место страницы

=> Разработка


Через сомнения приходим к истине. Цицерон

Отсутствует

 

№1028-07-2007 21:04:25

Unghost
Призрак-админ
 
Группа: Administrators
Откуда: Moscow, Russia
Зарегистрирован: 08-10-2004
Сообщений: 11771
UA: Minefield 3.0

Re: Переход в нужное место страницы

Dmitry Zhukov
http://developer.mozilla.org/en/docs/DOM:window.scrollTo


Do not meddle in the affairs of Wizards, for they are subtle and quick to anger.

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2020 Mozilla Russia GitHub mark
Язык отображения форума: [Русский] [English]