Javascript Jquery平滑滚动:无法读取属性';顶部';未定义的
我正在尝试编写一个backtotop按钮的脚本,该按钮将位于站点范围的页脚中,出于某种原因,它返回“无法读取未定义的属性‘top’”。 任何帮助都很好,干杯 JQUERYJavascript Jquery平滑滚动:无法读取属性';顶部';未定义的,javascript,jquery,html,scroll,jquery-animate,Javascript,Jquery,Html,Scroll,Jquery Animate,我正在尝试编写一个backtotop按钮的脚本,该按钮将位于站点范围的页脚中,出于某种原因,它返回“无法读取未定义的属性‘top’”。 任何帮助都很好,干杯 JQUERY $( '#backtotop' ).on('click', function(event) { event.preventDefault(); var target = '#'+$(this).data('target') $('html, body').animate(
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = '#'+$(this).data('target')
$('html, body').animate({
scrollTop: $(target).offset().top
}, 1000);
});
HTML
试试:
此
在您的代码中指的是没有数据目标的范围
,您必须从父级
将
id=“backtotop”
移动到
标记,无需更改js。尝试以下代码:
$( "#target" ).click(function() {
$(document).scrollTop(0);
});
你忘了用关闭线路
此外,我还更改了目标定义
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = $(this).parents().attr("href");
alert(target);
$('html, body').animate({
scrollTop: $(target).offset().top;
}, 1000);
});
测试和工作。谢谢,工作正常,将尽快接受回答。同时,你能解释一下为什么它有效吗?根据你的更新,我明白你的意思。我没注意到,谢谢,伙计。我将改为修改html::-)@杰克·威廉姆斯:你很好。我很高兴它能帮上忙。哦,糟了,完全忘记接受答案了,现在整理好了,对不起,伙计。你是如何设定速度的?@user1380540你能详细说明一下你所说的速度是什么意思吗?您指的是滚动速度还是滚动开始前的延迟?滚动速度我得到的是“未捕获的SyntaxError:意外标记;”在.top之后出错,即使修复了此代码不会在页面上滚动并且不会给我任何进一步的错误
<a href="#" id="backtotop" data-target="navigation"><span><img id="upwardarrow" src="/img/upwardarrow.png"></span></a>
$( "#target" ).click(function() {
$(document).scrollTop(0);
});
$( '#backtotop' ).on('click', function(event) {
event.preventDefault();
var target = $(this).parents().attr("href");
alert(target);
$('html, body').animate({
scrollTop: $(target).offset().top;
}, 1000);
});