Страницы

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

вторник, 31 декабря 2019 г.

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

#javascript


По идее вот так 

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




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


Ответы

Ответ 1



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

Ответ 2



Попробуйте вызвать функцию внутри $(document).ready(), может не прогрузился элемент еще

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

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