TypeError jQuery offset()。top未定义

Firefox调试器显示了一个jQuery函数的TypeError,旨在当用户同时滚动和更新类时,将导航栏粘贴到页面顶部。

function如下。

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

产生的错误就是这个。

时间戳:31/01/2014 10:01:04

错误:TypeError: $(...).offset(...)未定义

我已经在SO上查找了类似的示例,但无法将结果转换为修复。 任何帮助将不胜感激。

这是因为你的$(“。navbar”)无法找到。 在获得偏移之前检查元素是否存在。

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