sorry_i_noob
@sorry_i_noob

Якорные ссылки — как отловить событие при использовании такой?

Здравствуйте. У меня есть якорная ссылка на комментарий. Проблема в том, что кнопка с href="#..." расположена в самом комментарии. Из-за чего когда пользователь переходит по такой ссылке, экран у него опущен слишком низко (не видно границу, border комментария). Я хочу чуть приподнять экран при использовании такой ссылки. Я думаю, что здесь нужно использовать JS.
Как отловить событие при использовании якорной ссылки? Тут мало одного onclick - так как пользователь может с другой страницы перейти по якорной ссылке на страницу с комментами. Или просто ввести ее в адресную строку.
  • Вопрос задан
  • 842 просмотра
Решения вопроса 1
AngReload
@AngReload
Кратко о себе
А нельзя ли поставить id на сам комментарий, или поместить ссылку и коммент в обёртку?
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
YumeReaver
@YumeReaver
Бургомистр
Присваиваем переменной url текущей страницы с якорем.
var url = window.location.href;
Дальше надо спарсить из строки url субстроку с якорем(параметром). Т.к. кроме якоря еще могут быть всякие utm-метки и т.д. Что-то типа:
var anchor = url.search("#block320"); // если не найдет - вернется -1

Если пользователь действительно перешел по ссылке с якорем, скролим чуть вверх(тут 10px, но лучше ориентироваться на разрешение):
if (anchor != -1) { 
    window.scrollBy(0,-10);
}
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы