【发布时间】:2012-09-19 03:23:21
【问题描述】:
我的网站上一切正常,但由于某种原因,每当我单击网站上任何位置的链接时,我都会在控制台中收到一条错误消息。错误与这里的这行编码有关:
jQuery(function($){
$('.navbar a, .scroll a, .smoothscroll a').bind('click',function(event){
var $anchor = $(this);
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 850,'easeInOutExpo');
event.preventDefault();
});
});
我得到的错误是:
“SCRIPT5007:无法获取属性‘top’的值:对象为空或未定义 custom.min.js,第 6 行字符 197"
它突出显示的确切代码是上述代码的这一部分:
$('html, body').stop().animate({
scrollTop: $($anchor.attr('href')).offset().top
}, 850,'easeInOutExpo')
我所知道的是,当我删除上述代码时,我的滚动到链接停止在以下页面上工作:
http://www.northtownsremodeling.com/things-to-know.php
您可以通过转到带有如下过滤器的页面来轻松查看弹出错误并留在控制台中:
http://www.northtownsremodeling.com/bathroom/
然后单击其中一个过滤器按钮。
最终,我正在努力做到这一点,以便我的滚动到设置仍然有效,但不再出现该错误。我很久以前就制作了这个脚本,当一切正常运行时,我真的很困惑是什么导致了这个错误?
谢谢!
【问题讨论】:
-
console.log($($anchor.attr('href')))是否首先输出所需的值? -
嗯,我似乎在任何地方都没有
.navbar a, or .scroll a,我只有具有 .smoothscroll 的 div 类,而 则调用了它平滑滚动到的#。我刚刚删除了上面的两个,仍然报错,错误指向“.top”属性,说“Uncaught TypeError: Cannot read property 'top' of undefined”
标签: javascript jquery html navigation anchor