无法获得房产' top'未定义或空引用(IE 11)

时间:2014-06-09 15:08:38

标签: javascript jquery internet-explorer-11

我对JavaScript很缺乏经验并使用模板。似乎无法弄清楚为什么在Internet Explorer中出现此错误。它适用于所有其他浏览器。

$('.navbar a, .navbar li a, .brand, #footer li a, .more a, a.go-top')
  .bind('click', function(event) {
    var $anchor = $(this),
    scrollVal = $($anchor.attr('href')).offset().top - 60;

    if (scrollVal < 0) {
      scrollVal = 0;
    }

    $('[data-spy="scroll"]').each(function() {
      $(this).scrollspy('refresh');
    });

    $.scrollTo(scrollVal, {
      easing: 'easeInOutExpo',
      duration: 1500
    });

    event.preventDefault();
  });

为什么会发生这种情况?

1 个答案:

答案 0 :(得分:2)

您看到的错误位于第4行

    scrollVal = $($anchor.attr('href')).offset().top - 60;

这通常是因为你试图使用对象的属性并且它是未定义的。

在你的情况下$($ anchor.attr(&#39; href&#39;))。offset()可能是未定义的, 你需要看看$ anchor是否未定义,或者它是否没有propierty href所以它不能拥有这个内容

您可以使用开发人员工具(F12)和breack点来检查值。

你可以学习如何做到: how to use console

祝你好运