我有一些锚点链接到页面中的特定部分(使用主题标签),以及滚动到文档窗口顶部或底部的锚点。
$("html, body").animate({ scrollTop: $(document).height() }, 2000);
但是,一旦动画和滚动到达目的地并完成,文档滚动和滚动条似乎会禁用几秒钟。例如,如果单击“转到页面底部”链接,我的文档窗口将正确滚动到页面底部。当我尝试向上滚动时,它会以一种紧张的动作上下晃动,并允许我稍后滚动几次。
关于可能导致此问题的任何提示?
这个线程很旧,但我遇到了这个问题并且在任何地方都没有答案,但这里有一个解决方案:
$(window).bind("mousewheel", function() {
$("html, body").stop();
});
如果用户在动画执行时使用滚动条,它会停止动画。
只是为了帮助 Scotty 的回答,您实际上还可以向 .stop() 方法添加两个选项:clearQueue和jumpToEnd。
我遇到了滚动问题,并使用 Scotty 建议的 .stop() 开始,但注意到动画仍在“挣扎”完成。我在这里查看了文档:.stop() 方法文档
通过添加.stop(true, false);
,我能够:
1.)删除排队的动画(以防几个被触发/级联)
2.) 防止动画尝试跳转到其结束值。
希望这可以帮助其他人用头撞键盘;)
我也建议$("html, body").stop();
在“动画”之前添加。
$("html, body").stop();
$("html, body").animate({ scrollTop: $(document).height() }, 2000);
$(window).bind("mousewheel", function() {
$("html, body").stop();
});