TypeError jQuery offset (). Top n’est pas défini

Le débogueur Firefox affiche une erreur TypeError pour une fonction jQuery visant à coller une barre de navigation en haut de la page lorsqu’un utilisateur fait défiler et met à jour la classe simultanément.

La fonction est ci-dessous.

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

L’erreur résultante est la suivante.

Horodatage: 31/01/2014 10:01:04

Erreur: TypeError: $(...).offset(...) n’est pas défini

J’ai examiné SO pour un exemple similaire, mais je ne peux pas traduire les résultats en solution. Toute aide serait grandement appréciée.

C’est parce que votre $ (“. Navbar”) est introuvable. Vérifiez si l’élément existe avant d’obtenir l’offset.

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