【问题标题】:TypeError: Cannot read property 'top' of undefined jquery animationTypeError:无法读取未定义 jquery 动画的属性“顶部”
【发布时间】:2013-07-05 09:18:22
【问题描述】:

我的问题是,当我想滚动到指定的 li (#vor) 时,它总是显示这个错误。

无法读取未定义 jquery 动画的属性“top”

$('html,body').animate({
        scrollTop: ($("#vor").offset().top-$('#header').outerHeight(true))+'px'},
'slow');

【问题讨论】:

  • 尝试在

标签: jquery animation jquery-animate


【解决方案1】:

试试这个

var offset = $("#vor").offset();
$('html,body').animate({
        scrollTop: (offset.top - $('#header').outerHeight(true))+'px'},
'slow');

【讨论】:

  • 为什么要有所作为?您所做的就是将表达式放入变量中。如果之前是未定义的,它仍然是未定义的。
  • @Barmar .offset() 返回一个包含 top 和 left 属性的对象。参考这个api.jquery.com/offset
  • 我明白这一点。他的原始代码访问了 .offset() 返回的 top 属性,就像你的一样。
  • 是的,我在回答中也解释了同样的事情,我认为它没有错,投反对票。
  • @ChiragVidani:基本上他是想告诉你,他所做的和你的建议没有太大区别。
猜你喜欢
  • 2014-12-31
  • 2014-06-02
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-05
  • 1970-01-01
相关资源
最近更新 更多