【发布时间】:2017-07-29 05:50:10
【问题描述】:
我希望页面在页面加载时根据哈希 URL 平滑滚动到锚点。
即
www.domain.com/pagename/#matches
我有这个,但它不工作
var elem = $('#_' + window.location.hash.replace('#', ''));
if(elem) {
$('html,body').animate({
scrollTop: $('#' + elem).offset().top-65
}, 1000);
return false;
}
控制台错误是
语法错误,无法识别的表达式:#[object Object]
更新
我得到了它的工作
if(window.location.hash) {
var elem = window.location.hash;
$('html,body').animate({
scrollTop: $(elem).offset().top-65
}, 1000);
return false;
}
然而,当动画结束时,默认的锚点动作会启动并因此跳转页面并忽略我试图实现的偏移量
【问题讨论】:
-
分享你的完整代码你做了什么