我试图在用户提交表单后滚动到页面底部。但是,当我执行以下代码时,浏览器会滚动到页面底部,但不允许我在没有锁定/关闭/抖动的情况下向上滚动(通过鼠标滚轮、滚动条或箭头键)。
var scrollToBottom = function() {
$("html, body").animate({ scrollTop: $(document).height() - $(window).height()}, 0);
}
知道是什么原因造成的吗?它似乎在大约五秒钟后“放松”了对浏览器的控制。
最佳答案
我运行了你的函数,它没有将我锁定在底部 5 秒。默认情况下,它会在滚动时锁定并在浏览器到达预定位置时释放您。
http://jsfiddle.net/oq9eo2zz/2/
其他原因可能会导致该问题,但如果您正在寻找快速解决方法,您可以强制它在“mousewheel DOMMouseScroll keyup keydown”上解锁(停止动画)。
$(window).on("mousewheel DOMMouseScroll keyup keydown", function(e){
$('html, body').stop();
});
0 持续时间: http://jsfiddle.net/oq9eo2zz/1/
3000 持续时间: http://jsfiddle.net/oq9eo2zz/4/
希望这对您有所帮助!
关于javascript - jQuery 滚动到页面底部锁定/断断续续/抖动滚动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25438705/