将我们的网站从 jQuery 1.10.2 升级到 jQuery 3.3.1 后,我们遇到了以下问题。
我们有这个 JavaScript 让页面在加载后跳转到位置 500。
$(window).on("load", function () {
$("body, html").animate({ scrollTop: 500 }, 1);
});
这在 Firefox 中运行良好。
但是,在 Chrome 中,滚动到此位置后,它会向上滚动到页面顶部。当我在 Chrome JavaScript 调试中单步执行时,向下滚动后,这种向上滚动发生在 jquery-3.3.1 文件中的以下代码处:
// Animations created synchronously will run synchronously
function createFxNow() {
window.setTimeout( function() {
fxNow = undefined;
} );
return ( fxNow = Date.now() );
}
我如何 (1) 防止 Chrome 向上滚动,或 (2) 将我的代码附加到稍后的页面循环挂钩上,诸如此类$(window).on("completelyLoaded")
?