我正在尝试编写一个返回顶部按钮的脚本,该按钮将位于页脚中的整个站点,由于某种原因,它返回“无法读取未定义的属性‘顶部’”。 任何帮助都会很棒,干杯。
JQUERY
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = '#'+$(this).data('target')
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000);
});
HTML
<a href="#" data-target="navigation"><span id="backtotop"><img id="upwardarrow" src="/img/upwardarrow.png"></span></a>
最佳答案
尝试:
var target = '#'+$(this).parent().data('target');
this
在您的代码中指的是没有 data-target
的跨度,您必须从父级 <a>
访问它
或者像这样修改你的html:
<a href="#" id="backtotop" data-target="navigation"><span><img id="upwardarrow" src="/img/upwardarrow.png"></span></a>
移动id="backtotop"
到<a>
tag,不需要改js。
关于javascript - Jquery平滑滚动: Cannot read property 'top' of undefined,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20729290/