[英]Chart JS Error : Uncaught TypeError: Cannot read property 'top' of undefined
[英]Uncaught TypeError: Cannot read property 'top' of undefined - Scrolling error?
这是我的HTML:
<ul class="nav-list">
<li class="current"><a class="smoothscroll" href="#home" title="">Home</a></li>
<li><a class="smoothscroll" href="signup.html" title="">Sign up</a></li>
<li><a class="smoothscroll" href="signin.html" title="">Sign in</a></li>
</ul>
这是我的JavaScript:
var ssSmoothScroll = function() {
$('.smoothscroll').on('click', function (e) {
var target = this.hash,
$target = $(target);
e.preventDefault();
e.stopPropagation();
$('html, body').stop().animate({
'scrollTop': $target.offset().top
}, cfg.scrollDuration, 'swing').promise().done(function () {
// check if menu is open
if ($('body').hasClass('menu-is-open')) {
$('#header-menu-trigger').trigger('click');
}
window.location.hash = target;
});
});
};
我浏览了几个答案,但仍然找不到为什么我的系统无法正常工作。 任何帮助深表感谢。
我想继续访问signup.html或signin.html,但是如果单击它们,则两个链接均不起作用。 仅当我右键单击并在新选项卡中打开时,它们才起作用。
offset
返回undefined
的唯一原因是如果您在空的jQuery集合上调用它。 这样就告诉我们$(target)
返回一个空的jQuery集,大概是因为target
包含一个与任何元素都不匹配的选择器。
您可能想要添加一个保护措施以允许这样做:
if (!$target.length) {
return;
}
...就在$target = ...
之后
不过, smoothscroll
一下HTML:您可能只想从将您带到另一个页面(示例中的后两个)的链接中删除smoothscroll
类。 他们似乎唯一的目的是使跳转到页面滚动中的锚点而不是跳转。 由于这些链接不在页面上,因此我只是不会将课程放在第一位。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.