Переход к специальному месяцу в таблице с событием, использующим текущий месяц в качестве цели
У меня есть список событий в течение года, который довольно длинный. Это обычная 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, чтобы перейти к этому месту. Это произойдет автоматически.