Вопрос по javascript, jquery – Избегайте прокрутки / перехода страницы, когда якорь находится в URL [дубликата]
Possible Duplicate:
jquery - disable anchor “jump” when loading a page
Я отображаю div в зависимости от значения хеш-функции в URL-адресе, но я хочу избежать перехода страницы на позицию этого div с этим конкретным идентификатором.
У меня проблема возникает только тогда, когда страница перемещается напрямую с помощью хэша в URL-адресе, например, если кто-то отметил книгу на странице.
Так, например, у меня есть URL domain.com/page.html#myitem-1
Затем будет отображаться ID = myitem-1, что и происходит, но затем страница переходит вниз к позиции того элемента div, который мне не нужен.
Я пытался использовать scrollTop (0), чтобы заставить положение окна вернуться наверх, но кажется, что это вызывается до того, как произойдет прыжок привязки, который не имеет никакого эффекта
Пример кода:
$(document).ready(function() {
$('.glossary-term').hide();
$(window.location.hash).show();
$(window).scrollTop(0);
});
Единственный способ заставить этот scrollTop работать - поместить его в setTimeOut с длительностью 1, но это похоже на хак. Любые другие предложения?
Спасибо
В
Что ж, если это ваш внутренний механизм использования якорей только для отображения div, вы всегда можете изменить (или удалить) имя & quot; имя & quot; атрибут, чтобы браузер не мог найти его напрямую и не пытался прокручивать;)
В противном случае попробуйтеКак отключить привязку & quot; прыгать & quot; при загрузке страницы?