Прошу прощения, если этот вопрос уже был дан. Я попытался найти решения, но не смог найти подходящий код. Я все еще новичок в jQuery.
У меня есть два разных типа липких меню для двух разных страниц. Вот код для обоих.
$(document).ready(function () {
    var contentNav = $('.content-nav').offset().top;
    var stickyNav = function () {
        var scrollTop = $(window).scrollTop();
        if (scrollTop > contentNav) {
            $('.content-nav').addClass('content-nav-sticky');
        } else {;
            $('.content-nav').removeClass('content-nav-sticky')
        }
    };
    stickyNav();
    $(window).scroll(function () {
        stickyNav();
    });
});
$(document).ready(function () {
    var stickyNavTop = $('.nav-map').offset().top;
    // var contentNav = $('.content-nav').offset().top;
    var stickyNav = function () {
        var scrollTop = $(window).scrollTop();
        if (scrollTop > stickyNavTop) {
            $('.nav-map').addClass('sticky');
            // $('.content-nav').addClass('sticky');
        } else {
            $('.nav-map').removeClass('sticky');
            // $('.content-nav').removeClass('sticky')
        }
    };
    stickyNav();
    $(window).scroll(function () {
        stickyNav();
    });
});
Моя проблема в том, что код для липкого бокового меню внизу не работает, потому что вторая строка кода var contentNav = $('.content-nav').offset().top; вызывает ошибку, которая читает "Uncaught TypeError: невозможно прочитать свойство" верх "из undefined", На самом деле, никакой другой код jQuery ниже этой второй строки вообще не работает, если они не расположены над ним.
После некоторых исследований, я думаю, проблема в том, что $('.content-nav').offset().top не может найти указанный селектор, потому что он на другой странице. Если это так, я не могу найти решение.