Bu soru zaten yanıtlanmışsa özür dilerim. Çözümleri aramayı denedim, ancak koduma uygun herhangi bir çözüm bulamadım. Hala jQuery'de yeniyim.
İki farklı sayfa için iki farklı türde yapışkan menülerim var. İşte her ikisinin kodu.
$(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();
});
});
Benim sorunum, alttaki yapışkan yan menünün kodunun çalışmaması, çünkü kodun ikinci satırının var contentNav = $('.content-nav').offset().top;
"Yakalanmamış TypeError: Tanımsız 'üst' özelliği okunamıyor" yazan bir hata tetiklemesi. Aslında, ikinci satırın altındaki hiçbir jQuery kodu, üstüne yerleştirilmedikçe hiç çalışmaz.
Biraz araştırma yaptıktan sonra, bence sorun, $('.content-nav').offset().top
belirtilen seçicinin farklı bir sayfada olması nedeniyle bulunamaması. Öyleyse bir çözüm bulamıyorum.