Saya minta maaf jika pertanyaan ini sudah terjawab. Saya sudah mencoba mencari solusi tetapi tidak dapat menemukan yang cocok dengan kode saya. Saya masih baru mengenal jQuery.
Saya memiliki dua jenis menu lengket untuk dua halaman berbeda. Ini kode untuk keduanya.
$(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();
});
});
Masalah saya adalah bahwa kode untuk menu sisi lengket di bagian bawah tidak berfungsi karena baris kedua kode var contentNav = $('.content-nav').offset().top;
memicu kesalahan yang bertuliskan "Uncaught TypeError: Tidak dapat membaca properti 'atas' tidak terdefinisi". Faktanya, tidak ada kode jQuery lain di bawah baris kedua yang berfungsi sama sekali kecuali jika ditempatkan di atasnya.
Setelah beberapa penelitian, saya pikir masalahnya adalah $('.content-nav').offset().top
tidak dapat menemukan pemilih yang ditentukan karena berada di halaman yang berbeda. Jika demikian, saya tidak dapat menemukan solusi.