我对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();
});
为什么会发生这种情况?
答案 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
祝你好运