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