TypeError jQuery offset().top 未定义
Posted
技术标签:
【中文标题】TypeError jQuery offset().top 未定义【英文标题】:TypeError jQuery offset().top is undefined 【发布时间】:2014-02-23 23:59:24 【问题描述】:Firefox 调试器显示 jQuery 函数的 TypeError,该函数旨在在用户滚动并同时更新类时将导航栏粘贴到页面顶部。
函数如下。
$(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 上查看了类似的示例,但无法将结果转化为修复。任何帮助将不胜感激。
【问题讨论】:
是您要显示偏移量的元素吗? 相关的 html 标记在哪里? 【参考方案1】:这是因为你的 $(".navbar") 找不到。在获取偏移量之前检查元素是否存在。
if ($(".navbar").length) ...
【讨论】:
或者如果对象不可见也返回 undefined 尝试使用 ID。【参考方案2】:这样对我有用
$('.custom-scrollbar').animate(
scrollTop: $('a.sidebar-link.sidebar-title.active').offset.top - 200
, 1000);
不带 () 的偏移量
【讨论】:
以上是关于TypeError jQuery offset().top 未定义的主要内容,如果未能解决你的问题,请参考以下文章
TypeError: can't compare offset-naive and offset-aware datetimes bugfix