TypeError jQuery offset().top未定义

K7B*_*uoy 20 css jquery typeerror offset

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

功能如下.

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

产生的错误就是这个.

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

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

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

小智 32

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

if ($(".navbar").length) {...}
Run Code Online (Sandbox Code Playgroud)