Страницы

Поиск по вопросам

пятница, 11 января 2019 г.

Ошибка: “Cannot read property 'top' of undefined” при создании прокрутки

По идее вот так
var destination = jQuery("#job").offset().top; if (jQuery.browser.safari) { jQuery('body').animate({ scrollTop: destination }, 1100); //1100 - скорость прокрутки } else { jQuery('html').animate({ scrollTop: destination }, 1100); } return false;
Должно работать, но ничего не скролится. jQuery подключен. Пишет,
Cannot read property 'top' of undefined

Вопрос из ответа @Алексей Дементьев.


Ответ

В данном случае jQuery("#job").offset() - возвращает undefined, а это возможно только в случае когда jQuery("#job") не нашел элементов, удовлетворяющих селектору.
Кроме того в зависимости от версии jQuery при применении этого метода, так же может быть возвращено null, следовательно ошибка может меняться на
Uncaught TypeError: Cannot read property 'top' of null(…)

Комментариев нет:

Отправить комментарий