我在尝试在 jQuery 加载后立即滚动浏览器窗口时遇到问题。内容加载正常,加载完成后调用的函数正在被调用。但是,如果我将超时设置为 300 毫秒,我只能让页面实际滚动:
frame.html("#box").load("loadedfile.php", function(){
setTimeout(function() {
$('html,body').animate({
scrollTop: $("#framed").offset().top
}, 750);
},300);
});
加载完成功能似乎在内容加载之后执行,但在浏览器能够滚动之前(因为承载脚本的页面最初的长度不足以激活滚动条)。
我的解决方法感觉草率,可能是。有没有更好的方法来处理这个问题?超时似乎不是处理此问题的可靠方法。
除了 .animate 之外,我还尝试过 window.scrollTo 以及 jQuery scrollTo 插件