TypeError jQuery offset().top is undefined

css, jquery, offset, typeerror

Solution

It 's because your $(".navbar") cannot be found. Check if the element exist before getting offset.

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

Problem

The Firefox debugger is showing a TypeError for a jQuery function aimed at sticking a navbar to the to the top of the page when a user scrolls and updating the class at the same time. The function is below. ``` $(window).scroll(function() { if ($(".navbar").offset().top>30) { $(".navbar-fixed-top").addClass("sticky"); } else { $(".navbar-fixed-top").removeClass("sticky"); } }); ``` The resulting error is this. Timestamp: 31/01/2014 10:01:04 Error: TypeError: `$(...).offset(...)` is undefined I have looked about on SO for a similar example but can not translate the outcomes into a fix. Any help would be greatly appreciated.

Original source