Не работает плавная прокрутка к якорю после загрузки страницы
Здравствуйте. Для плавной прокрутки к якорю после загрузки страницы использую вот это:
window.hashName = window.location.hash; window.location.hash = ''; $(window).load(function () { $('html, body').animate({scrollTop: $(window.hashName).offset().top}, 2000); return false; }); А консоль выдаёт мне ошибку Uncaught TypeError: Cannot read property 'top' of undefined. Использую jquery-2.2.0.min.js Я только-только начинаю учить javascript, посмотрел в гугле варианты ошибок - но так ничего и не понял. Подскажите пожалуйста - в чём может быть дело? |
window.hashName = window.location.hash; - Что это такое?:blink:
Uncaught TypeError: Не удается прочитать свойство 'top' не определено. $(window.hashName).offset().top |
Как я понял (тут взял) это проверка на наличие прокручиваемого тэга.
|
нет такого элемента на странице и свойство что вы считываете нет. Можно html страницы на которой этот скрипт работает.
|
Что-то я вообще перестал понимать( Я забыл указать что у меня указан якорь - window.location.hash = '#anchor';
И прокрутка происходит, но не плавно а скачком - тут. Ошибка та же - как тогда сделать что бы плавная прокрутка была? Скрипт находится после футера. |
window.location.hash = ''; $(window).load(function () { $('html, body').animate({scrollTop: $('#anchor').offset().top}, 2000); return false; }); Так тоже не работает? |
Переход на якорь есть а плавности нету.
И то если так - window.location.hash = '#anchor'; |
Цитата:
window.scrollTo(0,0); $(window).load(function () { $('html, body').animate({scrollTop: $('#anchor').offset().top}, 2000); return false; }); |
Цитата:
|
emptyindorill,
значит нет jquery или уже нет попробуйте заменить все $ на jQuery |
Часовой пояс GMT +3, время: 22:29. |