我正在尝试编写一个backtotop按钮,该按钮将位于页脚的全站点,由于某种原因它返回“无法读取未定义的属性'顶部'”。 任何帮助都会很棒,干杯。
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>
答案 0 :(得分:2)
尝试:
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>
标记,无需更改js。
答案 1 :(得分:0)
请尝试以下代码:
$( "#target" ).click(function() {
$(document).scrollTop(0);
});
答案 2 :(得分:0)
你忘了用;
来关闭这条线
另外,我改变了目标定义。
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = $(this).parents().attr("href");
alert(target);
$('html, body').animate({
scrollTop: $(target).offset().top;
}, 1000);
});
经过测试和工作。