Перейти к началу страницы ссылки на длинные страницы - PullRequest
1 голос
/ 20 июля 2010

Мне нужен совет о том, как добавить ссылку «Перейти наверх» внизу страницы, но только если она длиннее, чем размер окна браузера.

Алгоритм будет:

  • проверка высоты страницы
  • вычисление высоты нижнего колонтитула и верхнего колонтитула
  • сравнение размеров
  • поиск последнего элемента перед нижним колонтитулом (например, по id)
  • вставить ссылку на # top-menu

(Предполагается, что чистый JavaScript работает и в IE6. Я не хочу использовать какую-либо библиотеку JS.)

1 Ответ

3 голосов
/ 20 июля 2010

Хм ... Я думаю, что обнаружение body.scrollTop! = 0, то это означает, что страница выше, чем область просмотра браузера. Я бы сделал элемент «Перейти наверх» всегда частью страницы, но его видимое состояние будет зависеть от того, будет ли body.scrollTop! = 0. Чтобы определить, является ли body.scrollTop! = 0, вам необходимо опрашивать его значение каждые 100 мс скажем, и независимо от того, равен ли он нулю, установите для свойства отображения объекта «Перейти наверх» значение «» или «нет».

Хотя это может немного раздражать, так как сам элемент «Перейти наверх» увеличивает общую высоту страницы. В таком случае лучше использовать свойство «видимость» вместо «отображение».

РЕДАКТИРОВАТЬ: Только что найдено (возможно, ссылка на вредоносное ПО удалена), может быть полезно, если вы воспользуетесь приведенным выше.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...