TypeError jQuery offset().top не определен

отладчик Firefox показывает TypeError для функции jQuery, направленной на прикрепление навигационной панели к верхней части страницы, когда пользователь прокручивает и обновляет класс одновременно.

функции ниже.

$(window).scroll(function() {
    if ($(".navbar").offset().top>30) {
        $(".navbar-fixed-top").addClass("sticky");
    }
    else {
        $(".navbar-fixed-top").removeClass("sticky");
    }
});

ошибка это.

метки: 31/01/2014 10:01:04

Ошибка: TypeError:$(...).offset(...) неопределено

Я посмотрел на так для аналогичного примера, но не могу перевести результаты в исправление. Любая помощь будет очень признательна.

1 ответов


Это потому, что ваш $(".navbar") не найден. Проверьте, существует ли элемент перед получением смещения.

if ($(".navbar").length) {...}