5

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

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


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

Nicolas Chabanovsky
  • 51,426
  • 87
  • 267
  • 507

2 Answers2

9

В данном случае jQuery("#job").offset() - возвращает undefined, а это возможно только в случае когда jQuery("#job") не нашел элементов, удовлетворяющих селектору.

Кроме того в зависимости от версии jQuery при применении этого метода, так же может быть возвращено null, следовательно ошибка может меняться на

Uncaught TypeError: Cannot read property 'top' of null(…)

Grundy
  • 81,538
0

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