Переход к специальному месяцу в таблице с событием, использующим текущий месяц в качестве цели

У меня есть список событий в течение года, который довольно длинный. Это обычная html-таблица. Теперь я хочу, чтобы пользователю не приходилось прокручивать список вниз, чтобы найти правильный месяц и текущие события. (Переключение на какой-либо календарь недоступно по разным причинам.) Установив привязку (месяц0 для января, месяц1 для февраля и т. Д.) Перед названием каждого месяца, могу ли я заставить страницу переходить туда при загрузке через скрипт?

Я не писал свои собственные javascripts в течение некоторого времени, но я представляю, как использовать такие биты

getMonth() 0-11

если getMonth(0) onLoad, перейдите к "a href=#Month0"

Можно ли заставить это работать?

2 ответа

Для частей, к которым вы хотите перейти, используйте привязку, как показано ниже.

<a name="Month0"></a>January

Затем, чтобы создать ссылку, которая переходит туда, вы можете сделать это.

<a href="#Month0">Jump to January</a>

Вы также можете сделать кнопку "Перейти в начало", не ставя ничего после хэштега.

<a href="#">Go to the top of the page.</a>

Это особенно полезно в сочетании с позицией CSS: исправлено

<div style="position:fixed;bottom:0px;right:0px"><a href="#">Go to top</a></div>

Это заставит кнопку всегда оставаться слева внизу.

Если вы хотите выполнить этот эффект прыжка в Javascript, вы можете использовать объект местоположения, например так:

location.hash="#Month0";

И вы можете легко превратить это в функцию!

function getMonth(anchornum) {
location.hash="Month"+anchornum;
}

Ура!

Вам не нужно добавлять <a> теги рядом с названиями месяцев. Вы можете установить идентификатор для любого типа элемента и заставить его вести себя как привязка к прыжку.

Если вы установите ссылку на идентификатор, он перейдет на страницу с элементом с этим идентификатором. Так:

<a href="#month0"></a>

перейдет к элементу с идентификатором month0, который в вашем случае, скорее всего, будет элементом таблицы:

<tr id="month0"></tr> 

Для точек привязки вы должны использовать атрибут id, а не имя. Браузер сначала будет искать ваш элемент по идентификатору, а затем по имени, если не найдет ни одного элемента с запрошенным идентификатором.

Установка местоположения окна также вызовет переход к любому элементу с соответствующим идентификатором.

window.location.hash = 'month0';

Если хеш уже находится в URL при загрузке страницы, вам не нужен javascript, чтобы перейти к этому месту. Это произойдет автоматически.

Другие вопросы по тегам