我将元素片段滚动为:
$('html,body').animate({
scrollTop: $(window.location.hash).offset().top
},1000);
这是完美的工作,但我需要在进入页面几秒后运行它(有延迟),所以我使用setTimeout()
得到这个但现在页面跳转到部分(哈希)而不滚动或提示任何错误消息。
setTimeout(function(){
$('html,body').animate({
scrollTop: $(window.location.hash).offset().top
},1000);
}, 2000);
你可以告诉我我做错了什么,为什么这不能延迟?!
答案 0 :(得分:0)
尝试:
$('html,body').delay( 2000 ).animate({
scrollTop: $(window.location.hash).offset().top
},1000);
其他选项是:
window.setTimeout(function(){
$('html,body').animate({
scrollTop: $(window.location.hash).offset().top
},1000);
});